head	1.72;
access;
symbols
	V0-99-8:1.72
	V0-99-7:1.71
	V0-99-6:1.68
	V0-99-5:1.67
	V0-99-4:1.66
	V0-99-2:1.63
	V0-99-1:1.63
	V0-93-14:1.62
	V0-93-13:1.61
	V0-93-12:1.59
	V0-93-11:1.57
	V0-93-10:1.57
	V0-93-9:1.56
	V0-93-8:1.56
	V0-93-7:1.56
	V0-93-5:1.55
	V80:1.12
	V76d:1.1;
locks; strict;
comment	@ * @;


1.72
date	96.08.13.03.38.57;	author brydon;	state Exp;
branches;
next	1.71;

1.71
date	95.11.09.00.09.37;	author dumoulin;	state Exp;
branches;
next	1.70;

1.70
date	95.11.07.21.38.36;	author dumoulin;	state Exp;
branches;
next	1.69;

1.69
date	95.08.23.23.34.16;	author dumoulin;	state Exp;
branches;
next	1.68;

1.68
date	95.08.16.22.02.26;	author dumoulin;	state Exp;
branches;
next	1.67;

1.67
date	95.06.06.05.57.23;	author dumoulin;	state Exp;
branches;
next	1.66;

1.66
date	95.05.19.22.51.14;	author dumoulin;	state Exp;
branches;
next	1.65;

1.65
date	95.04.17.23.29.55;	author dumoulin;	state Exp;
branches;
next	1.64;

1.64
date	95.04.12.20.51.19;	author dumoulin;	state Exp;
branches;
next	1.63;

1.63
date	95.03.16.17.13.04;	author dumoulin;	state Exp;
branches;
next	1.62;

1.62
date	95.02.13.19.42.03;	author rushing;	state Exp;
branches;
next	1.61;

1.61
date	95.02.07.23.02.16;	author jcooper;	state Exp;
branches;
next	1.60;

1.60
date	95.02.02.21.28.55;	author rushing;	state Exp;
branches;
next	1.59;

1.59
date	95.01.19.02.47.25;	author jglasser;	state Exp;
branches;
next	1.58;

1.58
date	95.01.03.20.42.43;	author brydon;	state Exp;
branches;
next	1.57;

1.57
date	94.12.12.19.39.13;	author jcooper;	state Exp;
branches;
next	1.56;

1.56
date	94.11.21.21.20.46;	author jcooper;	state Exp;
branches;
next	1.55;

1.55
date	94.11.11.01.39.21;	author jglasser;	state Exp;
branches;
next	1.54;

1.54
date	94.11.10.01.27.44;	author rushing;	state Exp;
branches;
next	1.53;

1.53
date	94.11.09.23.02.39;	author rushing;	state Exp;
branches;
next	1.52;

1.52
date	94.11.02.01.50.05;	author jcooper;	state Exp;
branches;
next	1.51;

1.51
date	94.09.18.22.50.26;	author jcooper;	state Exp;
branches;
next	1.50;

1.50
date	94.09.18.00.01.54;	author jcooper;	state Exp;
branches;
next	1.49;

1.49
date	94.09.06.12.47.30;	author rushing;	state Exp;
branches;
next	1.48;

1.48
date	94.09.02.23.49.59;	author rushing;	state Exp;
branches;
next	1.47;

1.47
date	94.09.02.19.22.36;	author martin;	state Exp;
branches;
next	1.46;

1.46
date	94.08.24.18.40.15;	author mrr;	state Exp;
branches;
next	1.45;

1.45
date	94.08.24.17.59.26;	author jcooper;	state Exp;
branches;
next	1.44;

1.44
date	94.08.23.23.07.06;	author martin;	state Exp;
branches;
next	1.43;

1.43
date	94.08.11.02.25.59;	author dumoulin;	state Exp;
branches;
next	1.42;

1.42
date	94.08.11.00.15.51;	author jcooper;	state Exp;
branches;
next	1.41;

1.41
date	94.08.04.05.47.33;	author dumoulin;	state Exp;
branches;
next	1.40;

1.40
date	94.08.02.05.00.16;	author dumoulin;	state Exp;
branches;
next	1.39;

1.39
date	94.07.28.21.14.19;	author dumoulin;	state Exp;
branches;
next	1.38;

1.38
date	94.07.26.22.17.28;	author dumoulin;	state Exp;
branches;
next	1.37;

1.37
date	94.07.25.18.51.48;	author jcooper;	state Exp;
branches;
next	1.36;

1.36
date	94.07.01.03.44.54;	author dumoulin;	state Exp;
branches;
next	1.35;

1.35
date	94.06.30.16.38.39;	author dumoulin;	state Exp;
branches;
next	1.34;

1.34
date	94.06.23.23.05.54;	author dumoulin;	state Exp;
branches;
next	1.33;

1.33
date	94.06.09.18.39.34;	author rushing;	state Exp;
branches;
next	1.32;

1.32
date	94.06.06.22.08.22;	author rushing;	state Exp;
branches;
next	1.31;

1.31
date	94.06.01.19.00.00;	author gardnerd;	state Exp;
branches;
next	1.30;

1.30
date	94.05.23.18.37.00;	author jcooper;	state Exp;
branches;
next	1.29;

1.29
date	94.05.19.02.02.10;	author rushing;	state Exp;
branches;
next	1.28;

1.28
date	94.02.24.21.25.08;	author jcoop;	state Exp;
branches;
next	1.27;

1.27
date	94.02.16.21.04.46;	author cnolan;	state Exp;
branches;
next	1.26;

1.26
date	94.02.09.01.33.36;	author cnolan;	state Exp;
branches;
next	1.25;

1.25
date	94.01.24.17.39.47;	author jcoop;	state Exp;
branches;
next	1.24;

1.24
date	94.01.16.00.27.38;	author jcoop;	state Exp;
branches;
next	1.23;

1.23
date	94.01.12.19.25.59;	author mrr;	state Exp;
branches;
next	1.22;

1.22
date	93.12.08.01.29.07;	author rushing;	state Exp;
branches;
next	1.21;

1.21
date	93.08.25.18.53.17;	author mbretherton;	state Exp;
branches;
next	1.20;

1.20
date	93.08.25.17.04.57;	author mbretherton;	state Exp;
branches;
next	1.19;

1.19
date	93.08.18.21.49.21;	author rushing;	state Exp;
branches;
next	1.18;

1.18
date	93.08.05.20.06.07;	author jcoop;	state Exp;
branches;
next	1.17;

1.17
date	93.07.13.16.03.04;	author riordan;	state Exp;
branches;
next	1.16;

1.16
date	93.07.06.21.09.09;	author cnolan;	state Exp;
branches;
next	1.15;

1.15
date	93.06.28.17.51.39;	author rushing;	state Exp;
branches;
next	1.14;

1.14
date	93.06.25.20.26.07;	author dumoulin;	state Exp;
branches;
next	1.13;

1.13
date	93.06.24.17.13.14;	author riordan;	state Exp;
branches;
next	1.12;

1.12
date	93.06.11.00.12.13;	author rushing;	state Exp;
branches;
next	1.11;

1.11
date	93.06.10.18.27.50;	author rushing;	state Exp;
branches;
next	1.10;

1.10
date	93.06.08.19.42.17;	author rushing;	state Exp;
branches;
next	1.9;

1.9
date	93.06.01.18.16.44;	author rushing;	state Exp;
branches;
next	1.8;

1.8
date	93.05.29.03.32.30;	author rushing;	state Exp;
branches;
next	1.7;

1.7
date	93.05.28.18.23.23;	author rushing;	state Exp;
branches;
next	1.6;

1.6
date	93.05.24.23.28.04;	author rushing;	state Exp;
branches;
next	1.5;

1.5
date	93.05.18.22.11.40;	author rushing;	state Exp;
branches;
next	1.4;

1.4
date	93.05.13.16.17.12;	author rushing;	state Exp;
branches;
next	1.3;

1.3
date	93.05.01.01.36.56;	author rushing;	state Exp;
branches;
next	1.2;

1.2
date	93.03.30.20.46.27;	author DUMOULIN;	state Exp;
branches;
next	1.1;

1.1
date	93.02.16.20.54.42;	author rushing;	state Exp;
branches;
next	;


desc
@winvn version 0.76 placed into RCS
@


1.72
log
@fix a bug in ROT13 code
..
@
text
@/*
 * $Id: winvn.h 1.71 1995/11/09 00:09:37 dumoulin Exp $
 */

#ifndef __WINVN__
#define __WINVN__

#ifdef WIN32
#define __far far
#define huge far
#define __near near
#endif

#define ID_ABOUT 100

#ifdef __cplusplus
extern "C" {
#endif

int PASCAL WinMain (HINSTANCE, HINSTANCE, LPSTR, int);
BOOL WinVnInit (HINSTANCE hInstance, LPSTR lpCmdLine);

/* Functions define in Ini-News.c */
int fnLocateFiles (HINSTANCE hInstance, LPSTR lpCmdLine);
int ReadSortOption(const char* sDefSort, const char* sGrp);
void WriteSortOption(int iOpt, const char* sGrp);

/* (SMR) Changed parameter lists to conform with 3.1 windows.h. */
long WINAPI WinVnConfWndProc (HWND, UINT, WPARAM, LPARAM);
long FAR PASCAL WinVnViewWndProc (HWND, UINT, WPARAM, LPARAM);
long WINAPI WinVnArtWndProc (HWND, UINT, WPARAM, LPARAM);

long WINAPI WinVnConfFrameWndProc (HWND, UINT, WPARAM, LPARAM);
long FAR PASCAL WinVnViewFrameWndProc (HWND, UINT, WPARAM, LPARAM);
long WINAPI WinVnArtFrameWndProc (HWND, UINT, WPARAM, LPARAM);

BOOL GetMemo (HWND, HWND, int);
BOOL WINAPI About (HWND, unsigned, WORD, LONG);
LRESULT FAR PASCAL WinVnArticleActionDlg (HWND, unsigned, WPARAM, LPARAM);
BOOL FAR PASCAL WinVnCommDlg (HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL WinVnSaveArtDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnSaveArtsDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnFindDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnPersonalInfoDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnExecuteInfoDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnConfigConfirmationDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnThresholdDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnLogOptDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnDecodeArtsDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnAttachDlg (HWND hDlg, unsigned iMessage, WPARAM wParam, LPARAM lParam);
BOOL FAR PASCAL WinVnAttachPrefsDlg (HWND hDlg, unsigned iMessage, WPARAM wParam, LPARAM lParam);
BOOL FAR PASCAL WinVnComposePrefsDlg (HWND hDlg, unsigned iMessage, WPARAM wParam, LPARAM lParam);
BOOL FAR PASCAL WinVnConfigArticleDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnConfigArticleListDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnConfigGroupListDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnConfigCodingPrefsDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnEncodeDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnExitDlg (HWND hDlg, unsigned iMessage, WORD wParam, LONG lParam);
BOOL FAR PASCAL WinVnMailDlg (HWND hDlg, unsigned iMessage, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK VerListDlgProc (HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam);
BOOL FAR PASCAL WinVnSmartFilerDlg (HWND hDlg, unsigned iMessage, WPARAM wParam, LPARAM lParam);
BOOL FAR PASCAL WinVnSelectPathDlg (HWND hDlg, unsigned iMessage, WPARAM wParam, LPARAM lParam);
BOOL FAR PASCAL WinVnHeadersDlg (HWND hDlg, unsigned iMessage, WPARAM wParam, LPARAM lParam);	//shimomai

/* several debug routines */
#ifndef TRACE0
#ifdef _DEBUG
#define TRACE0(parm1) {\
    wsprintf(szDebugBuffer,parm1);\
    OutputDebugString(szDebugBuffer);}
#define TRACE1(parm1,parm2) {\
    wsprintf(szDebugBuffer,parm1,parm2);\
    OutputDebugString(szDebugBuffer);}
#define TRACE2(parm1,parm2,parm3) {\
    wsprintf(szDebugBuffer,parm1,parm2,parm3);\
    OutputDebugString(szDebugBuffer);}
#define TRACE3(parm1,parm2,parm3,parm4) {\
    wsprintf(szDebugBuffer,parm1,parm2,parm3,parm4);\
    OutputDebugString(szDebugBuffer);}
#define TRACE4(parm1,parm2,parm3,parm4,parm5) {\
    wsprintf(szDebugBuffer,parm1,parm2,parm3,parm4,parm5);\
    OutputDebugString(szDebugBuffer);}
#else
#define TRACE0(parm1)
#define TRACE1(parm1,parm2)
#define TRACE2(parm1,parm2,parm3)
#define TRACE3(parm1,parm2,parm3,parm4)
#define TRACE4(parm1,parm2,parm3,parm4,parm5)
#endif
#endif

#ifdef _DEBUG
//#define DEBUG_BREAK _asm { int 3 }
#define DEBUG_BREAK DebugBreak()
#else
#define DEBUG_BREAK
#endif

#ifdef USE_SPLASH
/* in wvsplash.c */
void DisplaySplashScreen (HINSTANCE hInstance, HWND hwnd, int delay);
#endif

/* in file WVUSENET.C */
BOOL FAR PASCAL About (HWND, unsigned, WORD, LONG);
BOOL CrackGroupLine (char *buf, TypLine * lineptr, void*pEndLine);
BOOL CursorToTextLine (int X, int Y, TypDoc * DocPtr, TypBlock far ** BlockPtr,
                       TypLine far ** LinePtr);
int ReadNewsrc (void);
void WriteNewsrc (void);
void SetNetDocTitle (void);
void SetLineFlag (TypDoc * Doc, TypBlock far ** BlockPtr, TypLine far ** LinePtr, int wFlag, int wValue);
void SetExLineFlag (TypDoc * Doc, TypBlock far ** BlockPtr, TypLine far ** LinePtr, int wFlag, int wValue);
void GroupAction (TypDoc * Doc, TypBlock far ** BlockPtr, TypLine far ** LinePtr, int wFlag, int wValue);
void MakeHelpPathName (char *szFileName, int maxchars);
long cursor_to_char_number (long X, long Y, TypDoc * DocPtr, TypBlock far ** BlockPtr, TypLine far ** LinePtr);
void SetGroupActiveLines (void);
void SetSelections (TypDoc * MyDoc, TypLine far * LinePtr);

void SetUserMenus (TypDoc FAR * DocPtr, int enable);
void SetConnectMenuItems (TypDoc FAR * DocPtr, int enable);
void SetGroupMenus (TypDoc far * DocPtr, int enable);
void SetArticleMenus (TypDoc far * DocPtr, int enable);

BOOL MoreInit (void);
void InitAllFonts ();
void InitWinVnFonts ();
void InitCompositionFonts ();
void InitListFonts ();
void InitArticleFonts ();
void InitPrintFonts ();
void InitStatusFonts ();
void DestroyFonts ();
void InitBitmaps ();
void DestroyBitmaps ();
BOOL MainLoopPass (void);
void Connect ();
void Disconnect ();
void Reconnect ();
void AbortAllComm ();

void MakeHelpPathName (char *szFileName, int maxchars);
void WriteWinvnProfile ();
void SaveWindowPositions ();

void MoveCursor ();
BOOL CursorToTextLine (int X, int Y, TypDoc * DocPtr, TypBlock far ** BlockPtr,
                       TypLine far ** LinePtr);
void ViewArticle (TypDoc * Doc, long artindex, BOOL Reuse, BOOL showArt, char far * articleID);
void UnlinkArtsInGroup (TypDoc * GroupDoc);
void UpdateSeenArts (TypDoc * Doc);

/* in file WVBLOCK.C */
int NewBlock (TypBlock far * CurBlockPtr, TypBlock far ** NewBlockPtr);
void SetupEmptyBlock (TypBlock far * BlockPtr, HANDLE hCur, HANDLE hPrev,
                      HANDLE hNext, TypDoc * DocPtr);
BOOL DeleteBlock (TypBlock far ** CurBlockPtr, TypLine far ** CurLinePtr);
int AddLine (TypLine * LineToAdd, TypBlock far ** CurBlockPtr, TypLine far ** CurAddPtr);
BOOL ReplaceLine (TypLine * LineToAdd, TypBlock far ** CurBlockPtr, TypLine far ** CurLinePtr);
BOOL DeleteLine (TypBlock far ** CurBlockPtr, TypLine far ** CurLinePtr);
int NextLine (TypBlock far ** BlockPtr, TypLine far ** LinePtr);
int NextActiveLine (TypBlock far ** BlockPtr, TypLine far ** LinePtr);
int PrevLine (TypBlock far ** BlockPtr, TypLine far ** LinePtr);
int PrevActiveLine (TypBlock far ** BlockPtr, TypLine far ** LinePtr);
int NumBlocksInDoc (TypDoc * Doc);
void ForAllLines (TypDoc * Doc,
                  void lpfnFunc (TypDoc * Doc, TypBlock far ** BlockPtr, TypLine far ** LinePtr, int wFlag, int wValue),
                  int wFlag, int wValue);
void ForAllLinesOnScreen (TypDoc * Doc,
                          void lpfnFunc (TypDoc * Doc, TypBlock far ** BlockPtr, TypLine far ** LinePtr, int wFlag, int wValue),
                          int wFlag, int wValue);
void ForAllBlocks (TypDoc * Doc,
                   void lpfnFunc (TypDoc * Doc, TypBlock far ** BlockPtr, int wFlag, int wValue),
                   int wFlag, int wValue);
void SetForBlock (TypDoc * Doc, TypBlock far ** BlockPtr, int wFlag, int wValue);
BOOL FindLineOrd (TypDoc * Doc, unsigned int LineOrd, TypBlock far ** BlockPtr, TypLine far ** LinePtr);
int SearchLine (char *Line, int LineLen, char *Target, int TargLen);
BOOL DoFind (BOOL StartAtTop, BOOL multiSelect);
BOOL TopOfDoc (TypDoc * Doc, TypBlock far ** BlockPtr, TypLine far ** LinePtr);
BOOL BottomOfDoc (TypDoc * MyDoc, TypBlock far ** BlockPtr, TypLine far ** LinePtr);
BOOL ExtractTextLine (TypDoc * Doc, TypLine far * LinePtr, char *Buf, int BufSize);
BOOL LockLine (HANDLE hBlock, unsigned int LineOff, TypLineID FindLineID,
               TypBlock far ** BlockPtr, TypLine far ** LinePtr);
void UnlockLine (TypBlock far * BlockPtr, TypLine far * LinePtr,
             HANDLE * hBlock, unsigned int *LineOff, TypLineID * TheLineID);
void PtrToOffset (TypBlock far * BlockPtr, TypLine far * LinePtr,
             HANDLE * hBlock, unsigned int *LineOff, TypLineID * TheLineID);
TypLineID LineIDtoLinePtr (TypLineID MyLineID, TypDoc far * MyDoc, TypBlock far ** MyBlock, TypLine far ** LinePtr);
unsigned int WhatLine (TypBlock far * BlockPtr, TypLine far * LinePtr);
void MoveBytes (void far * Source, void far * Target, int NumBytes);
int InitDoc (TypDoc * Doc, HWND hWnd, TypDoc * Parent, int DType);
void FreeDoc (TypDoc * Doc);
int mylstrncmp (char far * ptr1, char far * ptr2, int len);
char far *mylstrncpy (char far * ptr1, const char far * ptr2, int len);

/* in file WVSCREEN.C */
void ScreenDown (int nLines, int LinesOnScreen, TypBlock far ** BlockPtr,
                 TypLine far ** LinePtr, int *LinesAdvanced);
void ScreenUp (int nLines, TypBlock far ** BlockPtr, TypLine far ** LinePtr,
               int *LinesBackedUp);
void ScrollIt (TypDoc * Document, WPARAM wParam, LPARAM lParam);
void NewScrollIt (TypDoc * Document, WPARAM wParam, LPARAM lParam);
void HScrollIt (TypDoc * Document, WPARAM wParam, LPARAM lParam);
int LineOnScreen (TypDoc * Doc, HANDLE hTargBlock, unsigned int TargOffset, TypLineID TargLineID);
void NextWindow (HWND hWnd, int docType);
void AdjustMidSc (TypBlock far * BlockPtr, TypLine far * LinePtr);
void AdjustTopSc (TypBlock far * BlockPtr, TypLine far * LinePtr);
void AdjustTopScByDoc (TypDoc * aDoc, TypLineID index);
void ScreenToTop (TypDoc * Doc);
BOOL AdvanceToActive (TypBlock far ** BlockPtr, TypLine far ** LinePtr);

/* in file WVFILE.c */
HFILE MRROpenFile (char *FileName, int Mode, TypMRRFile ** MRRFile);
void MRRCloseFile (TypMRRFile * MRRFile);
int MRRReadLine (TypMRRFile * MRRFile, char *Linebuf, int Len);
BOOL MRRWriteLine (TypMRRFile * MRRFile, char far * Linebuf, unsigned int Len);
BOOL MRRWriteDocument (TypDoc * Document, int Offset, char *szFileName, BOOL Append);

#ifndef _WIN32
BOOL CopyFile(char *source, char *destin, BOOL bFailIfExists);
#endif

BOOL GetNum (char **ptr, long int *num);
COLORREF StrToRGB (char *cstring);
char *RGBToStr (char *buf, COLORREF rgbVal);
char *StringDate (char *s, time_t time);
void DoCommState (void);
char WasArtSeen (unsigned long ArtNum, TypGroup far * GroupPtr);
char chROT13 (char achar);
void strROT13 (char *cstring);
void strnROT13 (char *cstring, int len);
BOOL isLineQuotation (char *textptr);
void SetHandleBkBrush (HWND hwnd, HBRUSH handle);

/* in file WVUTIL.CPP */
WndEdit *getWndEdit (WndEdit * WndEdits, HWND hWnd, int numEntries);
WndEdit *GetComposeWnd (HWND hWnd);
void DoCommInput (void);
void ClearLatestInfo();

/* in wvpost.c */
void AddAuthHeader (HWND hWndEdit);

/* in wvsend.c */
BOOL SendOneLine(char *str);

/* in wvgroup.cpp    */
void SetGroupSelections (TypDoc * MyDoc, header_p headers, long newActive);
void SeverArticleParent(TypDoc *doc);
void setArticleFocus (HWND hWndArt);
long NewCursorToTextLine (int X, int Y, TypDoc far * DocPtr);
long search_headers (TypDoc far * HeaderDoc, header_p headers, long artindex, long num_headers);
void SaveSelectedArts (HWND hwnd, TypDoc far * Doc, header_p headers, long num_headers);
long AffectSelected (TypDoc far * Doc, BOOL value, BOOL compare);
long AffectSelectedOnScreen (TypDoc far * Doc, BOOL value, BOOL compare);
void InitiateReceiveArticle (TypDoc far * Doc, char far * articleId);
char_p string_compare_insensitive (char_p a, char far * b);
BOOL article_operation (TypDoc far * Doc, long artindex,BOOL (*art_fun) (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex));
BOOL toggle_read_unread (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL toggle_selected (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL selected_true (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL selected_false (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL seen_true (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL seen_false (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL mark_read_to_here (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL mark_read_all (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL mark_read_selected (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL mark_selected_read_articles (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL mark_selected_unread_articles (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL mark_deselected_read_articles (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL mark_deselected_unread_articles (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
BOOL mark_unread_selected (TypDoc far * Doc, header_p headers, TypGroup * group, long artindex);
void CloseGroupWnd (HWND hWnd, TypDoc far * ThisDoc);
void SetMenusForMultiArticleOperation (TypDoc far * DocPtr, int enable);
BOOL SelectHeader (TypDoc far * Doc, header_p header, BOOL value);

/* in headarray.cpp    */
long find_index_from_artnum (long artindex, HANDLE header_handle, HANDLE thread_handle, long length);

/* in file wvart.c */
long find_article_by_subject (TypHeader huge * headers, long artindex, long num_headers);
void view_article_by_message_id (TypDoc * Doc, char far * msg_id, long artindex);
void SetArticleRot13Mode (HWND hWnd, BOOL RotMode);
BOOL GetArticleRot13Mode (HWND hWnd);
void mark_article_seen(TypDoc FAR * Doc, char * groupname, long artindex);
void CloseArtWnd (HWND hWnd, TypDoc * ThisDoc);
void UpdateHighlightedText (TypDoc far * DocPtr, TextSelect far * PreviousPos);
void HighlightText (TypDoc far * DocPtrs);
void CopyTextToClipBoard (TypDoc FAR * DocPtr);

/* in file wvheader.c */
BOOL GetHeaderLine (TypDoc * Doc, char *Prefix, char *Buf, int BufLen);
BOOL NextToken (char **cptr);
void AppendTextToEditBuf (char *instr, char far ** buf, long int *left);
void ParseAddress(const char *headerline, char *addressout, long int addressoutlen, char *nameout, long int nameoutlen);

HWND CreateComposeWnd (HWND hWnd, TypDoc * Doc, int DocType);
BOOL GetToAddress (char *buf, int len, TypDoc * refDoc, HWND hWnd);
BOOL GetNewsgroups (char *buf, int len, TypDoc * refDoc);
BOOL GetFromAddress (char *buf, int len, TypDoc * refDoc);
BOOL GetSubject (char *buf, int len, TypDoc * refDoc, int docType);
BOOL GetCcAddress (char *buf, int len, TypDoc * refDoc);
BOOL GetReplyToAddress (char *buf, int len, TypDoc * refDoc);
BOOL GetOrganization (char *buf, int len, TypDoc * refDoc);
BOOL GetFollowupTo (char *buf, int len, TypDoc * refDoc);
BOOL FollowupToPoster (TypDoc * refDoc);
BOOL GetHeaderContents (char *buf, int len, TypDoc * refDoc, char *str);
BOOL GetReferences (char *buf, int len, TypDoc * refDoc);
BOOL GetXref (char *buf, int len, TypDoc * refDoc);
BOOL GetInReplyTo (char *buf, int len, TypDoc * refDoc);
BOOL GetDate (char *buf, int len);
BOOL MakeBody (char **endBuf, TypDoc * refDoc, int docType, HWND hWnd);
BOOL GetMailboxDate (char *buf, int len);

/* in file wvcompos.c */
long FAR PASCAL WinVnComposeWndProc (HWND, unsigned int, WPARAM, LPARAM);
BOOL CreateEditWnd (WndEdit * compWnd);
BOOL CreateComposeControls (WndEdit * compWnd);
void ResizeComposeControls (WndEdit * compWnd, int cx, int cy);
BOOL FAR PASCAL WinVnControlIntercept (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
BOOL GenerateHeadersForSend (WndEdit * compWnd, TypTextBlock * headers, char *saveSubject);
void EnableSendComposition (WndEdit * compWnd, BOOL enable);

                             /* In file WVPRINT.C *//* JD 930208 */
BOOL WINAPI PrinterInit (void);
BOOL WINAPI FreePrinterMemory (void);
BOOL WINAPI DeletePrinterDC (HDC);
HDC WINAPI GetPrinterDC (HWND);
BOOL CALLBACK AbortProc (HDC, int);
DWORD WINAPI PrinterSetup (HWND, DWORD);
//BOOL WINAPI PrintDlgProc(HWND, WORD, WORD, LPARAM); 
LRESULT CALLBACK PrintDlgProc (HWND, UINT, WPARAM, LPARAM);
BOOL WINAPI PrintHeaderP (char *str, int limit);
void WINAPI PrintFile (HWND);
void WINAPI PrintArticle (HWND, TypDoc * Doc);
void WINAPI ReportPrintError (int, HWND);

/* in file wvsckgen.c */
int SetupSock (void);
void PutCommLine (char *line);
void PutCommData (char *data, unsigned int length);
int MRRReadComm (void);
void MRRCloseComm (void);
int MRRInitComm (void);

int send_smtp_line (char *str, unsigned long len);
int post_line (char *str, unsigned long len);
int end_post ();
int end_send_smtp ();
int prepare_smtp_message (TypTextBlock * headers);
int prepare_cc_smtp_message (char *destination, TypTextBlock * headers);
int close_smtp_socket (void);

/* In file WVLIST.C */
void StartList (void);
void ProcListLine (unsigned char *ListLine);
void AddGroupToTable (char far * GroupLine);
void InitHashTable (unsigned int);
void InitGroupTable (void);
unsigned int HashGroup (unsigned char huge * gname);
void HashNetGroups (TypDoc * Doc, TypLine huge * huge * HashTable);
void BuildPtrList (void);
void BuildHashTable (void);
void ProcEndList (void);
int GroupCompare (TypLine const huge * huge * g1, TypLine const huge * huge * g2);
BOOL FAR PASCAL WinVnGroupListDlg (HWND hDlg, unsigned iMessage, WPARAM wParam, LPARAM lParam);
void PositionEndSubscribed (TypBlock far ** BlockPtr, TypLine far ** LinePtr);
void MergeGroups (int WhereSubscribed);
void CleanUpGroupTable (void);
unsigned long FindNextPrime (unsigned long);

/* In file WVMAIL.C  */
/* mlPOPSend (HWND hWnd, char *mBuf); */
int MailClose (HWND hWnd);
void SetMailType (int mailType);
void MailEnableLogout (BOOL enable);
void MailCrashExit (HWND hWnd);
int MailInit (HWND hWnd);

/* In file WVMAPI.C */
int mlMAPIInit (HWND hWnd);
int mlMAPILogout (HWND hWnd);
int mlMAPILogon (HWND hWnd);
int mlMAPISend (HWND hWnd, TypDoc * Doc, int DocType);
/* mlMAPILogon (HWND hWnd); */ 
int mlMAPIClose (HWND hWnd);

/* JSC additions to WVUTIL.CPP */
void RemoveTrailingWhiteSpace (char *str);
BOOL IsBlankStr (char *temp);
BOOL isnumber (char *str);
char *strntcpy (char *dest, char *src, int len);
BOOL AskForFont (HWND hParentWnd, char *face, int *size, char *style);
BOOL AskForColor (HWND hParentWnd, COLORREF * color);
BOOL AskForExistingFileName (HWND hParentWnd, char *fileName, char *title);
char *GetEditText (HWND hWndEdit);
LRESULT SetEditText (HWND hWndEdit, char *editMem);
BOOL WritePrivateProfileInt (char far * lpAppName, char far * lpKeyName, int val, char far * lpProFile);
BOOL WritePrivateProfileUInt (char far * lpAppName, char far * lpKeyName, unsigned int val, char far * lpProFile);
unsigned int GetPrivateProfileUInt (char far * lpAppName, char far * lpKeyName, unsigned int val, char far * lpProFile);
BOOL WritePrivateProfileLong (char far * lpAppName, char far * lpKeyName, long val, char far * lpProFile);
long GetPrivateProfileLong (char far * lpAppName, char far * lpKeyName, long val, char far * lpProFile);

void RefreshGroupWnds ();
void RefreshArticleWnds ();
void RefreshStatusWnds ();
void RefreshComposeWnds ();
void BatchSend (int DocType);

void CloseWindows ();
void CloseGroupWnds ();
void CloseArticleWnds ();
void CloseComposeWnds ();
void CloseStatusWnds ();

void WinVNCascadeWindows ();

void MinimizeWindows ();
void MinimizeGroupWnds ();
void MinimizeArticleWnds ();
void MinimizeComposeWnds ();
void MinimizeStatusWnds ();

void RestoreWindows ();

BOOL TestCommBusy (HWND hParentWnd, char *msg);
BOOL TestCodingBusy (HWND hParentWnd, char *msg);

void SetMainMailMenu (TypDoc FAR * DocPtr);
void SetArticleMailMenu (TypDoc FAR * DocPtr);
void SetGroupMailMenu (TypDoc FAR * DocPtr);
void UpdateAllMailMenus ();

unsigned long GetFreeDiskSpace (char *drive);
unsigned long GetFileLength (char *fileName);
unsigned long CalcNumUnread(TypGroup far *GroupPtr);

/* in file wvfiler.c (jsc) */
char *GetFileExtension (char *tempName, char *fileName);
char *NameWithoutPath (char *tempName, char *fileName);
char *PathWithoutName (char *tempName, char *fileName);
BOOL AskForNewFileName (HWND hParentWnd, char *fileName, char *startDir, BOOL appendOk);
BOOL AskForFilePath (HWND hParentWnd, char *pathName, char *title);
BOOL VerifyFileName (char *fileName);
BOOL SmartFile (HWND hParentWnd, char *fileName);

/* in wvfilter.c */
int MatchFilter (char *group, char *filterBuf);

/* In file WVCODING.C */
void DecodeInit ();
void DecodeDone ();
TypCoded *InitCoded (HWND h);
BOOL DecodeLine (TypCoded * thisDecode, char *line);
void DecodeFile (HWND hParentWnd);
void DecodeOpenArticles (HWND hParentWnd);
void DecodeDoc (HWND hParentWnd, TypDoc * Document);
unsigned long EncodeIntoFile (HFILE hFile, TypAttachment * thisAttach, unsigned long startByte, unsigned long maxBytes);
unsigned long EncodeToTextBlock (TypTextBlock * textBlock, TypAttachment * thisAttach, unsigned long startByte, unsigned long maxBytes);
unsigned long EncodeAndSend (TypAttachment * thisAttach, unsigned long startByte, unsigned long maxBytes);

void EncodeToFile (HWND hParentWnd, TypAttachment * attachment);
BOOL CompleteThisDecode ();
int CreateCodingMap (char *map, char *table);
void CreateStatusArea (HWND hParentWnd, char *title, int show);
void DestroyStatusArea ();
void UpdateBlockStatus ();

/* In file WVCODEWN.C */
long FAR PASCAL WinVnCodedBlockWndProc (HWND, UINT, WPARAM, LPARAM);
long FAR PASCAL WinVnCodingWndProc (HWND, UINT, WPARAM, LPARAM);
void RefreshCodedBlockWnd ();

/* In file WVTXTBLK.C */
TypTextBlock *InitTextBlock (HWND hParentWnd);
TypTextBlock *InitTextBlockWithSize (HWND hParentWnd, unsigned long bytes, unsigned long lines);
void FreeTextBlock (TypTextBlock * textBlock);
BOOL AddLineToTextBlock (TypTextBlock * textBlock, char *line);
BOOL ReplaceLineInTextBlock (TypTextBlock * textBlock, unsigned long num, char *line);
BOOL AddEndedLineToTextBlock (TypTextBlock * textBlock, char *line);
void ResetTextBlock (TypTextBlock * textBlock);
BOOL ReadFileToTextBlock (HWND hParentWnd, TypTextBlock * block, char *fileName);

/* in file WVATTACH.C */
BOOL SendComposition (WndEdit * compWnd);
void DoSend (int cancel);
void AbortSendPost (HWND hNotifyWnd);

void FinishAttachment (int abort);
int EncodingTypeToNum (char *str);
void ReadTextFileIntoEditWnd (HWND hEditWnd, char *fileName);

/* in file headarry.c */
header_p header_elt (header_p headers, long index);
header_p lock_headers (HANDLE header_handle, HANDLE thread_handle);
void unlock_headers (HANDLE header_handle, HANDLE thread_handle);
void free_headers (HANDLE header_handle, HANDLE thread_handle);
void sort_by_option(header_p h, thread_array t, BOOL tOk, unsigned int nL, HANDLE hHandle, HANDLE tHandle);
//void sort_by_threads (HANDLE header_handle, HANDLE thread_handle, long length);
void initialize_header_array (HANDLE header_handle, HANDLE thread_handle, long length);
void set_index_to_identity (HANDLE header_handle, HANDLE thread_handle, long length);
void shell_sort_index_array (header_p headers, thread_array index, long nElements,
                 int (*compare) (header_p headers, long elem1, long elem2));
//int compare_subject (header_p headers, long elem1, long elem2);
//int compare_date (header_p headers, long elem1, long elem2);
//int compare_lines (header_p headers, long elem1, long elem2);
//int compare_from (header_p headers, long elem1, long elem2);
//int compare_artnum (header_p headers, long elem1, long elem2);

/* In file WVCRYPT.C */
void MRREncrypt (unsigned char *plainText, int len, char *cipherText);
int MRRDecrypt (char *cipherText, unsigned char *plainText, int plainMax);

/* In file WVDEBUGC.C */
long FAR PASCAL
  WinVnDebugCommWndProc (HWND hWnd, unsigned message, WPARAM wParam, LPARAM lParam);

/* in file WVSTBAR.C  */
void InitStatBar (STATUSPAINT * StatbarPntData);
void SetNumLockText (HWND hwnd);
void SetCapsLockText (HWND hwnd);
void SetStatbarText (HWND hwnd, LPSTR lpszStatBarText, TypDoc * MyDoc, BOOL redrawflg, BOOL permflg);
void SetStatbarPercent(HWND hwnd, int StatBarPercent, TypDoc * MyDoc, BOOL redrawflg);
void PaintStatbarText(HDC hdc, RECT rcTemp, LPSTR lpszStatBarText, TypDoc *MyDoc);
void PaintStatbar (HWND hwnd, HDC hdc, TypDoc * MyDoc);
BOOL StatusBarProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, TypDoc * MyDoc);
void StatBarMainPopups ();
void StatBarGroupPopups (TypDoc * MyDoc);
void StatBarArtPopups (TypDoc * MyDoc);


#if 0
/* In file FASTQSRT.C */
void __far __cdecl fastQSort (void far * base, size_t n, size_t size,
          int (__far __cdecl * cmpFn) (const void far *, const void far *));
#endif

void
  ShellSort (void huge * huge * base,
             size_t nElements,
             size_t width,
         int (*compare) (void const huge * elem1, void const huge * elem2));

/* void IncPtr(void **ptr,int incval); */

#define     IDM_UNDO             8
#define     IDM_CUT              9
#define     IDM_COPY             10
#define     IDM_PASTE            11
#define     IDM_DEL            12

#define     IDM_SHOW_SUBSCR        101
#define     IDM_SHOW_ALL_GROUP     102
#define     IDM_VIEW_SEL_GROUP     103
#define     IDM_SEL_SUBSCR         104
#define     IDM_UNSEL_ALL          105
#define     IDM_EXIT               106
#define     IDM_QUIT               107
#define     IDM_GROUP_TOP          108
#define     IDM_CONFIG_LOG         109
#define     IDM_COMMOPTIONS        110
#define     IDM_CONFIG_PERSONAL    111
#define     IDM_CONFIG_APPEARANCE  112
#define     IDM_SAVE_NEWSRC        113
#define     IDM_CONFIG_SMART_FILER 114
#define     IDM_CONFIG_CONFIRMATIONS 115
#define     IDM_CONFIG_GROUPLIST   116
#define     IDM_CONFIG_ARTLIST     117
#define     IDM_CONFIG_ARTICLE     118
#define     IDM_CONFIG_COMPOSE     119
#define     IDM_CONFIG_CODING      120
#define     IDM_CONFIG_EXECUTE     121
#define     IDM_SORT_SELECTED      122

#define     IDM_EDIT               124
#define     IDM_EXCLUDE            125
#define     IDM_DELETE             126
#define     IDM_NEW                127
#define     IDM_DECODE_FILE        128
#define     IDM_ENCODE_FILE        129
#define     IDM_SUBSCRIBE          130
#define     IDM_UNSUBSCRIBE        131

#define     IDM_RESET              140
#define     IDM_CONNECT            141
#define     IDM_DISCONNECT         142
#define     IDM_RECONNECT          143
#define     IDM_SAVE_WINDOW        144 
#define     IDM_SAVE_CONFIG        145 

/* jlg - toolbar buttons with no menu equivalent */
#define     IDB_TOGGLE_CONNECT     146
#define     IDB_TOGGLE_VIEW_UNSUB  147
#define     IDB_FASTEXIT           148

#define     IDM_HELP               150

#define     IDC_SIZECURSOR         160 //shimomai

#define     IDV_APPEND             201
#define     IDV_EDIT               202
#define     IDV_FORGET             203

#define     IDV_NEXT               205

#define     IDV_EXIT               206

#define     IDM_NEXT_ARTICLE       401
#define     IDM_NEXT_SAME_SUBJECT  402
#define     IDM_PREV_ARTICLE       403
#define     IDM_DECODE_ARTICLE     404
#define     IDM_ALWAYSONTOP        405
#define     IDM_CANCELART          406

#define     IDM_SAVE             410
#define     IDM_SAVEAS           411
#define     IDM_PRINT            412
#define     IDM_PRINT_SETUP      413

#define     IDM_POST             420
#define     IDM_ATTACH           421
#define     IDM_COMPOSE_PREFS    422
#define     IDM_ATTACH_PREFS     423
#define     IDM_READ_FILE        424

#define IDM_FIND                430
#define IDM_FIND_NEXT_SAME      431
#define IDM_SEARCH              432
#define IDM_SEARCH_NEXT         433
#define IDM_FIND_NEXT_UNSEEN    434
#define IDM_NEXT_SAME_SUBJ      435
#define IDM_FIND_NEXT_SELECTED          436

#define IDM_SEND                        440
#define IDM_CANCEL                      441
#define IDM_MAIL                        442
#define IDM_LOGOUT                      443
#define IDM_REPLY                       444
#define IDM_ROT13                       445
#define IDM_UNROT                       446
#define IDM_WORDWRAP                    447
#define IDM_UPDATE                      448
#define IDM_FORWARD                     449
#define IDM_HEADER_EDIT                 492	//shimomai

#define     IDM_CONTROL_INSERT   491	//shimomai

#define IDM_DISPLAY_SEEN_ARTS           450
#define IDM_DISPLAY_KILLED_ARTS         451

// The next 7 values should not be reassigned (used in .ini files)
#define IDM_SORT_THREADSUB              459
#define IDM_SORT_DATE                   460
#define IDM_SORT_SUBJECT                461
#define IDM_SORT_LINES                  462
#define IDM_SORT_THREADS                463
#define IDM_SORT_ARTNUM                 464
#define IDM_SORT_FROM                   465


#define IDM_SELECT_ALL                  470
#define IDM_MARK_READ_ARTICLES          471
#define IDM_MARK_UNREAD_ARTICLES        472
#define IDM_SELECT_MATCH                473
#define IDM_DESELECT_ALL                474
#define IDM_UNMARK_READ_ARTICLES        475
#define IDM_UNMARK_UNREAD_ARTICLES      476
#define IDM_DESELECT_MATCH              477
#define IDM_SAVE_SELECTED               478
#define IDM_DECODE_SELECTED             479
#define IDM_READ_SELECTED               480
#define IDM_MARK_SELECTED               481
#define IDM_UNMARK_SELECTED             482

#define ID_RETRIEVE_COMPLETE            483
#define ID_ARTICLE_RETRIEVE_COMPLETE    484

#define IDM_FONT_WINVNSYSTEM    500
#define IDM_FONT_COMPOSITION    501
#define IDM_FONT_GROUPLIST      502
#define IDM_FONT_ARTICLE_LIST   503
#define IDM_FONT_ARTICLE_TEXT   504
#define IDM_FONT_PRINT_TEXT     505
#define IDM_FONT_STATUS_TEXT    506

#define IDM_COLOR_UNSUBSCRIBED       510
#define IDM_COLOR_SUBSCRIBED         511
#define IDM_COLOR_UNSEEN             512
#define IDM_COLOR_SEEN               513
#define IDM_COLOR_KILLED             514
#define IDM_COLOR_LIST_BACKGROUND    515
#define IDM_COLOR_ARTICLE_BACKGROUND 516
#define IDM_COLOR_STATUS_BACKGROUND  517
#define IDM_COLOR_ARTICLE_TEXT       518
#define IDM_COLOR_STATUS_TEXT        519
#define IDM_TRUE_INVERSE_SELECTIONS  520
#define IDM_USE_SPLASH               525

#define IDM_WINDOW_CASCADE      530
#define IDM_CLOSE_ALL_GROUP     531
#define IDM_CLOSE_ALL_ARTICLE   532
#define IDM_CLOSE_ALL_COMPOSE   533
#define IDM_CLOSE_ALL_STATUS    534
#define IDM_CLOSE_ALL           535
#define IDM_MINIMIZE_ALL_GROUP   536
#define IDM_MINIMIZE_ALL_ARTICLE 537
#define IDM_MINIMIZE_ALL_COMPOSE 538
#define IDM_MINIMIZE_ALL_STATUS  539

#define IDM_MINIMIZE_ALL         540    // Never change these: 540, 541 (jsc)
#define IDM_RESTORE_ALL          541    // (so i send these msgs to winvn from a toolbar app)

#define IDM_SEND_ALL_POST       550
#define IDM_SEND_ALL_MAIL       551

#define IDM_MARK_ALL            600 
#define     IDM_PREFERENCES     650

#define     ID_TIMER            1000

/* IDs for popup menus */
#define POPUP_BASE            700
#define IDM_NETWORK_MENU      POPUP_BASE + 1
#define IDM_GROUP_MENU        POPUP_BASE + 2
#define IDM_UTILITIES_MENU    POPUP_BASE + 3
#define IDM_BATCH_MENU        POPUP_BASE + 4
#define IDM_CONFIG_MENU       POPUP_BASE + 5
#define IDM_FONT_MENU         POPUP_BASE + 6
#define IDM_COLOR_MENU        POPUP_BASE + 7
#define IDM_WINDOW_MENU       POPUP_BASE + 8
#define IDM_CLOSE_MENU        POPUP_BASE + 9
#define IDM_MINIMIZE_MENU     POPUP_BASE + 10
#define IDM_HELP_MENU         POPUP_BASE + 11
#define IDM_ARTICLE_MENU      POPUP_BASE + 12
#define IDM_SORT_MENU         POPUP_BASE + 13
#define IDM_SEARCH_MENU       POPUP_BASE + 14
#define IDM_FILE_MENU         POPUP_BASE + 15
#define IDM_EDIT_MENU         POPUP_BASE + 16
#define IDM_ARTSEARCH_MENU    POPUP_BASE + 17
#define IDM_VIEW_MENU         POPUP_BASE + 18
#define IDM_RESPOND_MENU      POPUP_BASE + 19

#define MAXPOPUPS 20

/* Article status values (Article Action items) */
#define ART_UNSEEN     0
#define ART_UNSELECTED 0
#define ART_SEEN       1
#define ART_KILLED     2
#define ART_SEENORKILLED (ART_SEEN | ART_KILLED)
#define ART_SELECTED   4

/* Window word values for child windows */
#define GWW_HWNDEDIT    0
#define GWW_CHANGED     2
#define GWW_WORDWRAP    4
#define GWW_UNTITLED    6
#define CBWNDEXTRA      8

/* String Table constants */
#define IDS_FILTERSTRING   0

/* path selection bitmap ids, etc */
#ifndef WIN32
// Private drive types not covered in Win3.x GetDriveType but in Win32
#define DRIVE_CDROM                 5
#define DRIVE_RAMDISK               6
#endif

#define IDB_DRIVEMIN                DRIVE_REMOVABLE
#define IDB_DRIVEFLOPPY             DRIVE_REMOVABLE
#define IDB_DRIVEHARD               DRIVE_FIXED
#define IDB_DRIVENETWORK            DRIVE_REMOTE
#define IDB_DRIVECDROM              DRIVE_CDROM
#define IDB_DRIVERAM                DRIVE_RAMDISK
#define IDB_DRIVEMAX                DRIVE_RAMDISK

#define IDB_FOLDERMIN               10
#define IDB_FOLDERCLOSED            10
#define IDB_FOLDEROPEN              11
#define IDB_FOLDEROPENSELECT        12
#define IDB_FOLDERMAX               12

/* toolbar constants  */
#define CMD_TB_BASE 400
#define MAINTB CMD_TB_BASE+1
#define VIEWTB CMD_TB_BASE+2
#define ARTTB  CMD_TB_BASE+3

#define IDB_ARTTOOLBAR     100  /* bitmaps */
#define IDB_TOOLBAR        101
#define IDB_VIEWTOOLBAR    102


#define WM_MYINITMENU      (WM_USER+1024)

/*-- Dialog box constants -- */
#include "wvdlg.h"

#ifdef __cplusplus
}
#endif

#endif

/*
 * Local Variables:
 * tab-width: 2
 * end:
 */
@


1.71
log
@Patches to support Harvey Brydons variable MIME boundaries code
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.70 1995/11/07 21:38:36 dumoulin Exp dumoulin $
d16 4
d25 2
d39 1
d63 1
d92 7
d106 1
a106 1
BOOL CrackGroupLine (char *buf, TypLine * lineptr);
d108 1
a108 1
					   TypLine far ** LinePtr);
d148 1
a148 1
					   TypLine far ** LinePtr);
d156 1
a156 1
					  HANDLE hNext, TypDoc * DocPtr);
d167 2
a168 2
				  void lpfnFunc (TypDoc * Doc, TypBlock far ** BlockPtr, TypLine far ** LinePtr, int wFlag, int wValue),
				  int wFlag, int wValue);
d170 2
a171 2
						  void lpfnFunc (TypDoc * Doc, TypBlock far ** BlockPtr, TypLine far ** LinePtr, int wFlag, int wValue),
						  int wFlag, int wValue);
d173 2
a174 2
				   void lpfnFunc (TypDoc * Doc, TypBlock far ** BlockPtr, int wFlag, int wValue),
				   int wFlag, int wValue);
d183 1
a183 1
			   TypBlock far ** BlockPtr, TypLine far ** LinePtr);
d185 1
a185 1
			 HANDLE * hBlock, unsigned int *LineOff, TypLineID * TheLineID);
d187 1
a187 1
			 HANDLE * hBlock, unsigned int *LineOff, TypLineID * TheLineID);
d194 1
a194 1
char far *mylstrncpy (char far * ptr1, char far * ptr2, int len);
d198 1
a198 1
				 TypLine far ** LinePtr, int *LinesAdvanced);
d200 1
a200 1
			   int *LinesBackedUp);
d212 1
d219 4
d228 1
a228 1
BOOL WasArtSeen (unsigned long ArtNum, TypGroup far * GroupPtr);
d235 1
a235 1
/* more in file wvutil.c */
d239 1
d244 3
d283 2
a284 2
void SetArticleRot13Mode (HANDLE hWnd, BOOL RotMode);
BOOL GetArticleRot13Mode (HANDLE hWnd);
d295 1
a295 1
void ParseAddress (char *headerline, char *addressout, long int addressoutlen, char *nameout, long int nameoutlen);
d324 1
a324 1
							 /* In file WVPRINT.C *//* JD 930208 */
d352 1
d373 2
a374 2
mlPOPSend (HWND hWnd, char *mBuf);
MailClose (HWND hWnd);
d381 6
a386 6
mlMAPIInit (HWND hWnd);
mlMAPILogout (HWND hWnd);
mlMAPILogon (HWND hWnd);
mlMAPISend (HWND hWnd, TypDoc * Doc, int DocType);
mlMAPILogon (HWND hWnd);
mlMAPIClose (HWND hWnd);
d388 1
a388 1
/* JSC additions to WVUTIL.C */
d503 1
a503 1
				 int (*compare) (header_p headers, long elem1, long elem2));
d535 1
a535 1
		  int (__far __cdecl * cmpFn) (const void far *, const void far *));
d540 3
a542 3
			 size_t nElements,
			 size_t width,
		 int (*compare) (void const huge * elem1, void const huge * elem2));
d598 2
d626 48
a673 43
#define     IDM_FIND             450
#define     IDM_FIND_NEXT_SAME   451
#define     IDM_SEARCH           452
#define     IDM_SEARCH_NEXT      453
#define     IDM_FIND_NEXT_UNSEEN 454
#define     IDM_NEXT_SAME_SUBJ   455

#define     IDM_SEND             470
#define     IDM_CANCEL           471

#define     IDM_MAIL             480
#define     IDM_LOGOUT           481
#define     IDM_REPLY            485

#define     IDM_ROT13            487
#define     IDM_UNROT            488
#define     IDM_WORDWRAP         489

#define     IDM_UPDATE           490
#define     IDM_FORWARD          495

#define  IDM_SORT_THREADSUB     459
#define  IDM_SORT_DATE     		460
#define  IDM_SORT_SUBJECT  		461
#define  IDM_SORT_LINES    		462
#define  IDM_SORT_THREADS  		463
#define  IDM_SORT_ARTNUM      	464
#define IDM_SORT_FROM      		465

#define IDM_SAVE_SELECTED  		466
#define IDM_DECODE_SELECTED   	467
#define IDM_DESELECT_ALL   		468
#define IDM_SELECT_ALL     		469
#define IDM_SELECT_MATCH   		470
#define ID_RETRIEVE_COMPLETE    471
#define ID_ARTICLE_RETRIEVE_COMPLETE  472
#define IDM_MARK_SELECTED       473
#define IDM_UNMARK_SELECTED     474
#define IDM_DESELECT_MATCH      475
#define IDM_UNMARK_READ_ARTICLES   476
#define IDM_MARK_READ_ARTICLES     477
#define IDM_UNMARK_UNREAD_ARTICLES 478
#define IDM_MARK_UNREAD_ARTICLES   479
d675 3
d686 12
a697 11
#define IDM_COLOR_UNSUBSCRIBED  510
#define IDM_COLOR_SUBSCRIBED    511
#define IDM_COLOR_UNSEEN        512
#define IDM_COLOR_SEEN          513
#define IDM_COLOR_LIST_BACKGROUND    514
#define IDM_COLOR_ARTICLE_BACKGROUND 515
#define IDM_COLOR_STATUS_BACKGROUND  516
#define IDM_COLOR_ARTICLE_TEXT       517
#define IDM_COLOR_STATUS_TEXT       518
#define IDM_TRUE_INVERSE_SELECTIONS 519
#define IDM_USE_SPLASH              520
d711 1
a711 1
#define IDM_RESTORE_ALL          541	// (so i send these msgs to winvn from a toolbar app)
d745 8
d790 1
a790 1
#define IDB_ARTTOOLBAR     100	/* bitmaps */
d800 2
d803 8
@


1.70
log
@changed TopOfDoc and BottomOfDoc from void functions to BOOL so that
error codes can be passed back
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.69 1995/08/23 23:34:16 dumoulin Exp $
d456 1
a456 1
void ResetTextBlock ();
@


1.69
log
@added additional defs for more menu selection items
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.68 1995/08/16 22:02:26 dumoulin Exp $
d164 2
a165 2
void TopOfDoc (TypDoc * Doc, TypBlock far ** BlockPtr, TypLine far ** LinePtr);
void BottomOfDoc (TypDoc * MyDoc, TypBlock far ** BlockPtr, TypLine far ** LinePtr);
@


1.68
log
@added defines to support executing URL's and sorting Newsgroups
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.67 1995/06/06 05:57:23 dumoulin Exp $
d244 4
d637 5
@


1.67
log
@changed name of CascadeWindows so as to not conflict with Windows95
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.66 1995/05/19 22:51:14 dumoulin Exp $
d38 1
d220 2
d543 2
@


1.66
log
@added function templates for functions needed to support marking
of crossposted articles.
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.65 1995/04/17 23:29:55 dumoulin Exp $
d384 1
a384 1
void CascadeWindows ();
@


1.65
log
@allow followup-to header to be displayed in posting window
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.64 1995/04/12 20:51:19 dumoulin Exp $
d100 1
a100 2
int cursor_to_char_number (int X, int Y, TypDoc * DocPtr, TypBlock far ** BlockPtr, TypLine far ** LinePtr);
long lcursor_to_char_number (long X, long Y, TypDoc * DocPtr, TypBlock far ** BlockPtr, TypLine far ** LinePtr);
d220 1
a220 1
/* in wvgroup.c    */
d223 22
d246 3
d254 5
d275 1
d278 1
@


1.64
log
@Make saving newsrc upon closing group an option
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.63 1995/03/16 17:13:04 dumoulin Exp $
d245 1
@


1.63
log
@fix part of the cut/past GPF on huge articles
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.62 1995/02/13 19:42:03 rushing Exp $
a495 4

#define     IDM_SUBSCRIBE          130
#define     IDM_UNSUBSCRIBE        131

a508 2
#define     IDM_PREFERENCES        650

d515 2
d580 12
a591 12
#define  IDM_SORT_DATE     460
#define  IDM_SORT_SUBJECT  461
#define  IDM_SORT_LINES    462
#define  IDM_SORT_THREADS  463
#define  IDM_SORT_ARTNUM      464
#define IDM_SORT_FROM      465

#define IDM_SAVE_SELECTED  466
#define IDM_DECODE_SELECTED   467
#define IDM_DESELECT_ALL   468
#define IDM_SELECT_ALL     469
#define IDM_SELECT_MATCH   470
d634 2
a635 1
#define IDM_MARK_ALL            600
@


1.62
log
@# changed proto for HashGroup back.
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.61 1995/02/07 23:02:16 jcooper Exp rushing $
d101 1
d504 1
@


1.61
log
@About box shows IDD_VERSION_NUMBER in static text
Added Restore All command to Window menu and to main window Sys menu
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.60 1995/02/02 21:28:55 rushing Exp $
d295 1
a295 1
unsigned int HashGroup (char * gname);
@


1.60
log
@change HashGroup()'s argument type from 'unsigned char huge *' to 'char *'
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.59 1995/01/19 02:47:25 jglasser Exp rushing $
d359 2
d629 3
a631 1
#define IDM_MINIMIZE_ALL         540
@


1.59
log
@Jody Glasser's changes of 950113
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.58 1995/01/03 20:42:43 brydon Exp $
d295 1
a295 1
unsigned int HashGroup (unsigned char huge * gname);
@


1.58
log
@new declarations, misc fixes on several old declarations
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.57 1994/12/12 19:39:13 jcooper Exp $
d456 2
@


1.57
log
@0.9.99 update
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.56 1994/11/21 21:20:46 jcooper Exp $
d11 1
a11 1
#define       __near near
d56 27
a129 1
void DoCommInput (void);
a205 1
void DoCommInput (void);
d217 2
d386 1
a386 1
TypCoded *InitCoded ();
d431 2
a432 1
void sort_by_threads (HANDLE header_handle, HANDLE thread_handle, long length);
d437 5
a441 5
int compare_subject (header_p headers, long elem1, long elem2);
int compare_date (header_p headers, long elem1, long elem2);
int compare_lines (header_p headers, long elem1, long elem2);
int compare_from (header_p headers, long elem1, long elem2);
int compare_artnum (header_p headers, long elem1, long elem2);
d543 1
d577 1
@


1.56
log
@93.7 update
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.55 1994/11/11 01:39:21 jglasser Exp $
d85 1
d195 1
d269 1
a269 1
void HashNetGroups (TypDoc * Doc, TypLine far * far * HashTable);
d566 6
a571 5
#define IDM_FONT_GROUPLIST      501
#define IDM_FONT_ARTICLE_LIST   502
#define IDM_FONT_ARTICLE_TEXT   503
#define IDM_FONT_PRINT_TEXT     504
#define IDM_FONT_STATUS_TEXT    505
@


1.55
log
@toolbar fixes
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.54 1994/11/10 01:27:44 rushing Exp $
d5 3
d56 5
d95 1
d340 1
d489 3
a491 2
#define     IDM_SAVE_WINDOW        143
#define     IDM_SAVE_CONFIG        144
d494 3
a496 3
#define     IDB_TOGGLE_CONNECT     145
#define     IDB_TOGGLE_VIEW_UNSUB  146
#define     IDB_FASTEXIT           147
d560 3
d580 1
d666 3
d671 2
@


1.54
log
@reindented
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.53 1994/11/09 23:02:39 rushing Exp rushing $
d417 1
a417 1
void StatusBarProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, TypDoc * MyDoc);
@


1.53
log
@93.3 update
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.52 1994/11/02 01:50:05 jcooper Exp $
d5 5
a9 5
#ifdef WIN32         
  #define __far far
  #define huge far
  #define       __near near
#endif               
d13 2
a14 2
int PASCAL WinMain(HINSTANCE, HINSTANCE, LPSTR, int);
BOOL WinVnInit(HINSTANCE hInstance, LPSTR lpCmdLine);
d20 32
a51 32
long WINAPI WinVnConfWndProc(HWND, UINT, WPARAM, LPARAM);
long FAR PASCAL WinVnViewWndProc(HWND, UINT, WPARAM, LPARAM);
long WINAPI WinVnArtWndProc(HWND, UINT, WPARAM, LPARAM);

long WINAPI WinVnConfFrameWndProc(HWND, UINT, WPARAM, LPARAM);
long FAR PASCAL WinVnViewFrameWndProc(HWND, UINT, WPARAM, LPARAM);
long WINAPI WinVnArtFrameWndProc(HWND, UINT, WPARAM, LPARAM);

BOOL GetMemo(HWND, HWND, int);
BOOL WINAPI About(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL WinVnCommDlg(HWND, unsigned, WORD, LONG);
BOOL FAR PASCAL WinVnSaveArtDlg(HWND hDlg,unsigned  iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnSaveArtsDlg(HWND hDlg,unsigned  iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnFindDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnPersonalInfoDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnConfigConfirmationDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnThresholdDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnLogOptDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnDecodeArtsDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnAttachDlg(HWND hDlg,unsigned iMessage,WPARAM wParam,LPARAM lParam);
BOOL FAR PASCAL WinVnAttachPrefsDlg(HWND hDlg,unsigned iMessage,WPARAM wParam,LPARAM lParam);
BOOL FAR PASCAL WinVnComposePrefsDlg(HWND hDlg,unsigned iMessage,WPARAM wParam,LPARAM lParam);
BOOL FAR PASCAL WinVnConfigArticleDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnConfigArticleListDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnConfigGroupListDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnConfigCodingPrefsDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnEncodeDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnExitDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnMailDlg(HWND hDlg,unsigned iMessage,WPARAM wParam,LPARAM lParam);
LRESULT CALLBACK VerListDlgProc(HWND hDlg,UINT iMessage,WPARAM wParam,LPARAM lParam);
BOOL FAR PASCAL WinVnSmartFilerDlg(HWND hDlg,unsigned iMessage,WPARAM wParam,LPARAM lParam);
BOOL FAR PASCAL WinVnSelectPathDlg(HWND hDlg,unsigned iMessage,WPARAM wParam,LPARAM lParam);
d54 19
a72 19
BOOL FAR PASCAL About(HWND, unsigned, WORD, LONG);
BOOL CrackGroupLine(char *buf,TypLine *lineptr);
BOOL CursorToTextLine(int X,int Y,TypDoc *DocPtr,TypBlock far **BlockPtr,
  TypLine far **LinePtr);
int  ReadNewsrc(void);
void WriteNewsrc(void);
void SetNetDocTitle(void);
void SetLineFlag(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue);
void SetExLineFlag(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue);
void GroupAction(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue);
void MakeHelpPathName(char * szFileName, int maxchars);
int cursor_to_char_number (int X, int Y,TypDoc *DocPtr,TypBlock far **BlockPtr,TypLine far **LinePtr);
void SetGroupActiveLines(void);
void SetSelections(TypDoc *MyDoc, TypLine far *LinePtr);

void SetUserMenus (TypDoc FAR *DocPtr, int enable);
void SetConnectMenuItems (TypDoc FAR *DocPtr, int enable);
void SetGroupMenus (TypDoc far *DocPtr, int enable);
void SetArticleMenus (TypDoc far *DocPtr, int enable);
d74 2
a75 2
BOOL MoreInit(void);
void InitAllFonts();
d81 4
a84 4
void DestroyFonts();
void InitBitmaps();
void DestroyBitmaps();
BOOL MainLoopPass(void);
d86 2
a87 2
void Disconnect();
void AbortAllComm();
d89 11
a99 11
void MakeHelpPathName(char * szFileName, int maxchars);
void WriteWinvnProfile();
void SaveWindowPositions();	

void DoCommInput(void);
void MoveCursor();
BOOL CursorToTextLine(int X,int Y,TypDoc *DocPtr,TypBlock far **BlockPtr,
  TypLine far **LinePtr);
void ViewArticle(TypDoc *Doc, long artindex ,BOOL Reuse, BOOL showArt, char far *articleID);
void UnlinkArtsInGroup(TypDoc *GroupDoc);
void UpdateSeenArts(TypDoc *Doc);
d102 24
a125 24
int NewBlock(TypBlock far *CurBlockPtr, TypBlock far **NewBlockPtr);
void SetupEmptyBlock(TypBlock far *BlockPtr,HANDLE hCur, HANDLE hPrev,
  HANDLE hNext,TypDoc *DocPtr);
BOOL DeleteBlock(TypBlock far **CurBlockPtr, TypLine far **CurLinePtr);
int AddLine(TypLine *LineToAdd,TypBlock far **CurBlockPtr,TypLine far **CurAddPtr);
BOOL ReplaceLine(TypLine *LineToAdd,TypBlock far **CurBlockPtr,TypLine far **CurLinePtr);
BOOL DeleteLine(TypBlock far **CurBlockPtr, TypLine far **CurLinePtr);
int NextLine(TypBlock far **BlockPtr,TypLine far **LinePtr);
int NextActiveLine (TypBlock far **BlockPtr, TypLine far **LinePtr);
int PrevLine(TypBlock far **BlockPtr,TypLine far **LinePtr);
int PrevActiveLine (TypBlock far **BlockPtr, TypLine far **LinePtr);
int NumBlocksInDoc(TypDoc *Doc);
void ForAllLines(TypDoc *Doc,
   void lpfnFunc(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue),
   int wFlag, int wValue);
void ForAllLinesOnScreen(TypDoc *Doc,
   void lpfnFunc(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue),
   int wFlag, int wValue);
void ForAllBlocks (TypDoc *Doc, 
   void lpfnFunc(TypDoc *Doc, TypBlock far ** BlockPtr, int wFlag, int wValue),
   int wFlag, int wValue);
void SetForBlock(TypDoc *Doc, TypBlock far ** BlockPtr, int wFlag, int wValue);
BOOL FindLineOrd(TypDoc *Doc,unsigned int LineOrd,TypBlock far **BlockPtr,TypLine  far **LinePtr);
int SearchLine(char *Line,int LineLen,char *Target,int TargLen);
d127 16
a142 16
void TopOfDoc(TypDoc *Doc,TypBlock far **BlockPtr,TypLine far **LinePtr);
void BottomOfDoc (TypDoc *MyDoc, TypBlock far **BlockPtr, TypLine far **LinePtr);
BOOL ExtractTextLine(TypDoc *Doc,TypLine far *LinePtr,char *Buf,int  BufSize);
BOOL LockLine(HANDLE hBlock,unsigned int LineOff,TypLineID FindLineID,
  TypBlock far **BlockPtr,TypLine far **LinePtr);
void UnlockLine(TypBlock far *BlockPtr,TypLine far *LinePtr,
  HANDLE *hBlock,unsigned int *LineOff,TypLineID *TheLineID);
void PtrToOffset(TypBlock far *BlockPtr,TypLine far *LinePtr,
  HANDLE *hBlock,unsigned int *LineOff,TypLineID *TheLineID);
TypLineID LineIDtoLinePtr(TypLineID MyLineID, TypDoc far *MyDoc, TypBlock far **MyBlock, TypLine far **LinePtr);
unsigned int WhatLine(TypBlock far *BlockPtr,TypLine far *LinePtr);
void MoveBytes(void far *Source, void far *Target,int NumBytes);
int InitDoc(TypDoc *Doc,HWND   hWnd,TypDoc *Parent,int DType);
void FreeDoc(TypDoc *Doc);
int mylstrncmp(char far *ptr1,char far *ptr2,int len);
char far *mylstrncpy(char far *ptr1,char far *ptr2, int len);
d145 33
a177 33
void ScreenDown(int nLines,int LinesOnScreen,TypBlock far **BlockPtr,
TypLine far **LinePtr,int *LinesAdvanced);
void ScreenUp(int nLines,TypBlock far **BlockPtr,TypLine far **LinePtr,
int *LinesBackedUp);
void ScrollIt(TypDoc *Document,WPARAM wParam,LPARAM lParam);
void NewScrollIt(TypDoc *Document,WPARAM wParam,LPARAM lParam);
void HScrollIt(TypDoc *Document,WPARAM wParam,LPARAM lParam);
int LineOnScreen(TypDoc *Doc,HANDLE hTargBlock,unsigned int TargOffset,TypLineID TargLineID);
void NextWindow(HWND hWnd, int docType);
void AdjustMidSc(TypBlock far *BlockPtr,TypLine far *LinePtr);
void AdjustTopSc(TypBlock far *BlockPtr,TypLine far *LinePtr);
void AdjustTopScByDoc (TypDoc *aDoc, TypLineID index);
void ScreenToTop(TypDoc *Doc);
BOOL AdvanceToActive(TypBlock far **BlockPtr,TypLine far **LinePtr);

HFILE MRROpenFile(char *FileName,int Mode,TypMRRFile **MRRFile);
void MRRCloseFile(TypMRRFile *MRRFile);
int MRRReadLine(TypMRRFile *MRRFile,char *Linebuf,int Len);
BOOL MRRWriteLine(TypMRRFile *MRRFile,char far *Linebuf,unsigned int Len);
BOOL MRRWriteDocument(TypDoc *Document,int Offset,char *szFileName,BOOL Append);

BOOL GetNum(char **ptr,long int *num);
COLORREF StrToRGB(char *cstring);
char *RGBToStr(char *buf, COLORREF rgbVal);
char * StringDate(char * s,time_t time);
void DoCommInput(void);
void DoCommState(void);
BOOL WasArtSeen(unsigned long ArtNum,TypGroup far *GroupPtr);
char chROT13(char achar) ;
void strROT13(char *cstring) ;
void strnROT13(char *cstring, int len) ;
BOOL isLineQuotation(char *textptr);
void SetHandleBkBrush(HWND hwnd, HBRUSH handle);
d180 2
a181 2
WndEdit *getWndEdit(WndEdit * WndEdits,HWND hWnd,int numEntries);
WndEdit *GetComposeWnd(HWND hWnd);
d184 1
a184 1
void SetGroupSelections(TypDoc *MyDoc, header_p headers, long newActive);
d187 4
a190 4
long find_article_by_subject (TypHeader huge *headers,long artindex,long num_headers);
void view_article_by_message_id (TypDoc *Doc, char far *msg_id, long artindex);
void SetArticleRot13Mode(HANDLE hWnd,BOOL RotMode) ;
BOOL GetArticleRot13Mode(HANDLE hWnd);
d193 19
a211 19
BOOL GetHeaderLine (TypDoc *Doc, char *Prefix, char *Buf, int BufLen);
BOOL NextToken(char **cptr);
void AppendTextToEditBuf(char *instr,char far **buf,long int *left);
void ParseAddress(char *headerline,char *addressout,long int addressoutlen,char *nameout,long int nameoutlen);

HWND CreateComposeWnd(HWND hWnd, TypDoc *Doc,int DocType);
BOOL GetToAddress(char *buf, int len, TypDoc *refDoc, HWND hWnd);
BOOL GetNewsgroups(char *buf, int len, TypDoc *refDoc);
BOOL GetFromAddress(char *buf, int len, TypDoc *refDoc);
BOOL GetSubject(char *buf, int len, TypDoc *refDoc, int docType);
BOOL GetCcAddress(char *buf, int len, TypDoc *refDoc);
BOOL GetReplyToAddress(char *buf, int len, TypDoc *refDoc);
BOOL GetOrganization(char *buf, int len, TypDoc *refDoc);
BOOL GetHeaderContents(char *buf, int len, TypDoc *refDoc, char *str);
BOOL GetReferences(char *buf, int len, TypDoc *refDoc);
BOOL GetInReplyTo(char *buf, int len, TypDoc *refDoc);
BOOL GetDate(char *buf, int len);
BOOL MakeBody(char **endBuf, TypDoc *refDoc, int docType, HWND hWnd);
BOOL GetMailboxDate(char *buf, int len);
d215 14
a228 14
BOOL CreateEditWnd (WndEdit *compWnd);
BOOL CreateComposeControls (WndEdit *compWnd);
void ResizeComposeControls(WndEdit *compWnd, int cx, int cy);
BOOL FAR PASCAL WinVnControlIntercept(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
BOOL GenerateHeadersForSend(WndEdit *compWnd, TypTextBlock *headers, char *saveSubject);
void EnableSendComposition(WndEdit *compWnd, BOOL enable);

/* In file WVPRINT.C */      /* JD 930208 */ 
BOOL WINAPI PrinterInit(void);
BOOL WINAPI FreePrinterMemory(void);
BOOL WINAPI DeletePrinterDC(HDC);
HDC WINAPI GetPrinterDC(HWND);
BOOL CALLBACK AbortProc (HDC,int);
DWORD WINAPI PrinterSetup(HWND,DWORD);
d230 5
a234 5
LRESULT CALLBACK PrintDlgProc(HWND, UINT, WPARAM, LPARAM);
BOOL WINAPI PrintHeaderP(char *str, int limit);
void WINAPI PrintFile(HWND);
void WINAPI PrintArticle(HWND,TypDoc *Doc);
void WINAPI ReportPrintError(int, HWND);
d237 13
a249 13
int SetupSock(void);
void PutCommLine(char *line);
void PutCommData(char *data, unsigned int length);
int MRRReadComm(void);
void MRRCloseComm(void);
int MRRInitComm(void);

int send_smtp_line(char *str, unsigned long len);
int post_line(char *str, unsigned long len);
int end_post();
int end_send_smtp();
int prepare_smtp_message (TypTextBlock *headers);
int prepare_cc_smtp_message (char *destination, TypTextBlock *headers);
d252 16
a267 16
void StartList(void);
void ProcListLine(unsigned char *ListLine);
void AddGroupToTable(char far *GroupLine);
void InitHashTable(unsigned int);
void InitGroupTable(void);
unsigned int HashGroup(unsigned char huge *gname);
void HashNetGroups(TypDoc *Doc,TypLine far * far * HashTable);
void BuildPtrList(void);
void BuildHashTable(void);
void ProcEndList(void);
int GroupCompare(TypLine const huge * huge *g1,TypLine const huge * huge *g2);
BOOL FAR PASCAL WinVnGroupListDlg(HWND hDlg,unsigned iMessage,WPARAM wParam,LPARAM lParam);
void PositionEndSubscribed(TypBlock far **BlockPtr, TypLine far **LinePtr);
void MergeGroups(int WhereSubscribed);
void CleanUpGroupTable(void);
unsigned long FindNextPrime(unsigned long);
d273 2
a274 2
void MailEnableLogout(BOOL enable);
void MailCrashExit(HWND hWnd) ;
d278 6
a283 6
 mlMAPIInit (HWND hWnd);
 mlMAPILogout (HWND hWnd);
 mlMAPILogon (HWND hWnd);
 mlMAPISend (HWND hWnd,TypDoc *Doc, int DocType);
 mlMAPILogon (HWND hWnd);
 mlMAPIClose (HWND hWnd);
d289 1
a289 1
char *strntcpy(char *dest, char *src, int len);
d291 1
a291 1
BOOL AskForColor (HWND hParentWnd, COLORREF *color);
d295 25
a319 25
BOOL WritePrivateProfileInt(char far *lpAppName,char far *lpKeyName,int val, char far *lpProFile);
BOOL WritePrivateProfileUInt (char far *lpAppName,char far *lpKeyName, unsigned int val, char far *lpProFile);
unsigned int GetPrivateProfileUInt (char far *lpAppName,char far *lpKeyName, unsigned int val, char far *lpProFile);
BOOL WritePrivateProfileLong (char far *lpAppName, char far *lpKeyName, long val, char far *lpProFile);
long GetPrivateProfileLong (char far *lpAppName, char far *lpKeyName, long val, char far *lpProFile);

void RefreshGroupWnds();
void RefreshArticleWnds();
void RefreshStatusWnds();
void RefreshComposeWnds();
void BatchSend(int DocType);

void CloseWindows();
void CloseGroupWnds();
void CloseArticleWnds();
void CloseComposeWnds();
void CloseStatusWnds();

void CascadeWindows();

void MinimizeWindows();
void MinimizeGroupWnds();
void MinimizeArticleWnds();
void MinimizeComposeWnds();
void MinimizeStatusWnds();
d324 4
a327 4
void SetMainMailMenu(TypDoc FAR *DocPtr);
void SetArticleMailMenu(TypDoc FAR *DocPtr);
void SetGroupMailMenu(TypDoc FAR *DocPtr);
void UpdateAllMailMenus();
d329 2
a330 2
unsigned long GetFreeDiskSpace(char *drive);
unsigned long GetFileLength(char *fileName);
d342 1
a342 1
int MatchFilter(char *group, char *filterBuf);
d345 2
a346 2
void  DecodeInit ();
void  DecodeDone ();
d348 14
a361 14
BOOL	DecodeLine (TypCoded *thisDecode, char *line); 
void	DecodeFile (HWND hParentWnd);
void	DecodeOpenArticles(HWND hParentWnd);
void	DecodeDoc (HWND hParentWnd, TypDoc *Document);
unsigned long EncodeIntoFile (HFILE hFile, TypAttachment *thisAttach, unsigned long startByte, unsigned long maxBytes);
unsigned long EncodeToTextBlock (TypTextBlock *textBlock, TypAttachment *thisAttach, unsigned long startByte, unsigned long maxBytes);
unsigned long EncodeAndSend(TypAttachment *thisAttach, unsigned long startByte, unsigned long maxBytes);

void	EncodeToFile (HWND hParentWnd, TypAttachment *attachment);
BOOL	CompleteThisDecode ();
int	CreateCodingMap (char *map, char *table);
void	CreateStatusArea (HWND hParentWnd, char *title, int show);
void	DestroyStatusArea ();
void	UpdateBlockStatus ();
d365 2
a366 2
long FAR PASCAL WinVnCodingWndProc  (HWND, UINT, WPARAM, LPARAM);
void RefreshCodedBlockWnd();
d371 4
a374 4
void FreeTextBlock (TypTextBlock *textBlock);
BOOL AddLineToTextBlock (TypTextBlock *textBlock, char *line);
BOOL ReplaceLineInTextBlock (TypTextBlock *textBlock, unsigned long num, char *line);
BOOL AddEndedLineToTextBlock (TypTextBlock *textBlock, char *line);
d376 1
a376 1
BOOL ReadFileToTextBlock (HWND hParentWnd, TypTextBlock *block, char *fileName);
d379 1
a379 1
BOOL SendComposition(WndEdit *compWnd);
d381 1
a381 1
void AbortSendPost(HWND hNotifyWnd);
d389 1
a389 1
header_p lock_headers (HANDLE header_handle,HANDLE thread_handle);
d396 1
a396 1
              int (*compare) (header_p headers, long elem1,long elem2));
d404 2
a405 2
void MRREncrypt(unsigned char *plainText,int len,char *cipherText);
int MRRDecrypt(char *cipherText,unsigned char *plainText, int plainMax);      
d408 2
a409 2
long FAR PASCAL 
WinVnDebugCommWndProc (HWND hWnd,unsigned message,WPARAM wParam,LPARAM lParam);
d412 9
a420 9
void InitStatBar(STATUSPAINT *StatbarPntData);
void SetNumLockText(HWND hwnd);
void SetCapsLockText(HWND hwnd);
void SetStatbarText(HWND hwnd, LPSTR lpszStatBarText, TypDoc *MyDoc, BOOL redrawflg, BOOL permflg);
void PaintStatbar(HWND hwnd, HDC hdc, TypDoc *MyDoc);
void StatusBarProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, TypDoc *MyDoc);
void StatBarMainPopups();
void StatBarGroupPopups(TypDoc *MyDoc);
void StatBarArtPopups(TypDoc *MyDoc);
d425 2
a426 2
void __far __cdecl fastQSort(void far *base, size_t n, size_t size, 
   int (__far __cdecl *cmpFn)(const void far *, const void far *));
d430 4
a433 4
ShellSort (void huge * huge * base,
	   size_t nElements,
	   size_t width,
	   int (*compare) (void const huge *elem1, void const huge * elem2));
d472 1
a472 1
#define     IDM_NEW                127 
d620 1
a620 1
/* path selection bitmap ids, etc*/
d652 1
a652 2
#include "wvdlg.h" 

@


1.52
log
@lots of changes for .93.0
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.51 1994/09/18 22:50:26 jcooper Exp $
a89 1
void ReadWinvnProfile();
a90 1
void UpdateWinvnProfile();
a327 2

void UpdateAllNewsCommMenus();
@


1.51
log
@New Window menu with cascade, etc
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.50 1994/09/18 00:01:54 jcooper Exp $
d24 4
a33 4
BOOL FAR PASCAL WinVnGenericDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnSubjectDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnAuthDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnDoListDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
d35 1
a35 2
BOOL FAR PASCAL WinVnMiscDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
BOOL FAR PASCAL WinVnAppearanceDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
d39 7
a45 1
BOOL FAR PASCAL WinVnAttachDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
a46 1
BOOL FAR PASCAL WinVnSigFileDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
a54 1
//VOID CheckView(HWND);
d62 1
d67 1
a67 2
void SetUserMenus (HWND hWnd, int enable);
void SetConnectMenuItem (HWND hWnd, int enable);
d69 5
a73 1
long FileLength(HFILE);
d75 2
d86 2
d93 1
a95 2
int WinVnDoComm(char *szComm);
char *CommStrtoID(char *CommStr,int *Port, int *Parity,char *szSpeed);
a102 2
int CommIDtoStr(int Port, int Parity,char *szSpeed,char *CommStr);

d112 1
d114 1
a114 1
int FindString(BOOL StartAtTop);
d119 3
d128 1
a128 1
BOOL DoFind(BOOL StartAtTop);
d130 1
d138 1
d148 1
a148 1
 TypLine far **LinePtr,int *LinesAdvanced);
d150 1
a150 1
 int *LinesBackedUp);
d155 2
a156 1
void NextWindow(TypDoc *Doc);
d158 1
a158 1
void AdjustTopScByDoc (TypDoc *aDoc, unsigned int index);
d182 2
a183 1
WndEdit * getWndEdit(WndEdit * WndEdits,HWND hWnd,int numEntries) ;
d185 3
d195 1
a195 18
void ParseAddress(char *headerline,char *addressout,long int addressoutlen,char *nameout,long int nameoutlen);
BOOL GetHeaderLine(TypDoc *Doc,char *Prefix,char *Buf,int  BufLen);
BOOL GetArtHeaderSubject(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL GetArtHeaderTo(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderSubject(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderMessageID(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderReferences(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderDate(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderFrom(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderReplyTo(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderTo(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderNewsgroups(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderOrganization(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderNewsreader(TypDoc *Doc,char   *Buf,long int    BufLen);
BOOL MakeArtHeaderXmailer (TypDoc *Doc,char *Buf,long int BufLen);
BOOL MakeArtBody(TypDoc *Doc,char far **MesBuf,long int  *left, int DocType);
int  CompareStringNoCase(char *str1,char *str2,int slen);
void CopyBuf(char *instr,char **buf,long int *left);
d198 1
a198 10
HWND CreatePostingWnd(HWND hWnd, TypDoc *Doc,int DocType);
BOOL CreatePostingText(TypDoc *Doc,HWND hWndPost,HWND hWndEdit,int DocType);
HANDLE ExtractPostingText (TypDoc *Doc,int DocType);
BOOL FreePostingText ( HANDLE hTextBuffer) ;
BOOL IsLineBlank(char far *line);
BOOL FAR PASCAL editIntercept(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam);
void  prepareEditMenu(HWND parWnd,HWND hWndEdit);
int DoEditCommands(HWND hWndEdit,WPARAM wParam,LPARAM lParam);
void DoEditClose(HWND hWnd,int dirty) ;
BOOL WriteEditLog(HWND hWnd, char *fName , char *mBuf, unsigned int size);
d200 14
a213 2
/* In file WVPOST.C */
long FAR PASCAL WinVnPostWndProc(HWND, UINT, WPARAM, LPARAM);
d215 8
a222 4
BOOL StartPost(WndEdit * WndPost);
void CompletePost(WndEdit * WndPost, int result);
void FailPost(WndEdit * PostEdit);
BOOL PostText(WndEdit * WndPost);
a223 4
/* In file WVPOST.C */
long FAR PASCAL WinVnMailWndProc(HWND, UINT, WPARAM, LPARAM);
BOOL StartMail(WndEdit * WndPost);

a237 5
/* In file WVAUTH.C */
BOOL AuthenticatePosting(BOOL AuthReq);
void AddAuthHeader(HWND hWndEdit);


a244 4
int send_smtp_message(char * destination, char * message);
int forward_smtp_message (char * destination, TypDoc * Doc);
int cc_smtp_message (char * destination, char * editstr);
int post_edit_data (char * edit_data);
d246 7
a287 1

d291 1
d297 6
a302 4
BOOL CreateEditWnd (WndEdit *NewWnd);
BOOL WritePrivateProfileInt(char far *lpAppName,char far *lpKeyName,int intval, char far *lpProFile);
BOOL WritePrivateProfileUInt (char far *lpAppName,char far *lpKeyName, unsigned int intval, char far *lpProFile);
unsigned int GetPrivateProfileUInt (char far *lpAppName,char far *lpKeyName, unsigned int intval, char far *lpProFile);
d306 1
d308 2
d312 1
d314 1
a315 1
void AddCommLineToDoc (char *line);
d317 6
d324 1
a324 1
BOOL TestDecodeBusy (HWND hParentWnd, char *msg);
d326 3
a328 3
void SetMainMailMenu(HWND);
void SetArticleMailMenu(HWND);
void SetGroupMailMenu(HWND hWnd);
d331 5
d345 3
d354 1
d356 5
a360 2
int 	Encode (TypTextBlock *textBlock, char *fileName, int mode);
void	EncodeToFile (HWND hParentWnd, char *inFile);
d363 1
a363 1
void	CreateStatusArea (HWND hParentWnd);
d370 1
d374 1
d378 1
a378 1
BOOL AddEndedLineToTextBlock (TypTextBlock *textBlock, char *line, int mode);
d380 1
a380 1
BOOL ReadFileToTextBlock (HWND hParentWnd, TypTextBlock *block, char *fileName, int mode);
d383 4
a386 2
void Attach (WndEdit *WndPost, char *fileName, int DocType);
void ProcessAttach (int cancel);
d389 1
d415 12
d445 1
a445 2
#define     IDM_CLEAR            12
#define     IDM_SELALL           13
a455 3
#define     IDM_SELECTALL          IDM_SELALL
#define     IDM_CLEARALL           IDM_CLEAR

d463 7
a469 3
#define     IDM_CONFIG_MISC        113
#define     IDM_CONFIG_SIGFILE     120
#define     IDM_CONFIG_SMART_FILER 121
d471 1
a471 2
#define     IDM_NEW_WIN_GROUP      4
#define     IDM_NEW_WIN_ARTICLE    5
d473 6
a478 6
#define     IDM_EDIT               114
#define     IDM_EXCLUDE            115
#define     IDM_DELETE             116
#define     IDM_NEW                117
#define      IDM_DECODE_FILE     118
#define      IDM_ENCODE_FILE     119
a479 4
#define     IDM_VIEWNEW            122
#define     IDM_VIEWFULL           123

#define     IDM_SESSION            130
d481 4
a484 4
#define     IDM_CONNECT            143
#define     IDM_DISCONNECT         144
#define     IDM_SAVE_WINDOW        141
#define     IDM_SAVE_CONFIG        142
d486 5
d514 3
d523 1
d534 1
d551 3
a553 3
#define IDM_RETRIEVE_COMPLETE    471
#define IDM_ARTICLE_RETRIEVE_COMPLETE  472

d569 1
d574 8
a581 2
#define IDM_CLOSE_ALL_STATUS    533
#define IDM_CLOSE_ALL           534
d583 2
a584 2
#define IDM_SEND_ALL_POST       535
#define IDM_SEND_ALL_MAIL       536
d586 1
a586 1
#define IDM_MARK_ALL       600
d590 24
d628 1
a628 4
#define DRIVE_RAM                   6

// We also need this export from Kernel, normally in windows.inc
void FAR PASCAL DOS3Call(void);
d636 2
a637 2
#define IDB_DRIVERAM                DRIVE_RAM
#define IDB_DRIVEMAX                DRIVE_RAM
d645 9
@


1.50
log
@declarations for SmartFiler, SelectPath dialogs, and general cleanup
for 92.6
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.48 1994/09/02 23:49:59 rushing Exp $
d305 1
d510 1
d521 8
a528 5
#define IDM_CLOSE_ALL_GROUP     530
#define IDM_CLOSE_ALL_ARTICLE   531
#define IDM_CLOSE_ALL_STATUS    532
#define IDM_SEND_ALL_POST       533
#define IDM_SEND_ALL_MAIL       534
@



1.49
log
@fix maildlg for win32
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.48 1994/09/02 23:49:59 rushing Exp rushing $
d46 2
d66 1
a66 1
long FileLength(HANDLE);
d72 3
d147 1
a147 1
HANDLE MRROpenFile(char *FileName,int Mode,TypMRRFile **MRRFile);
d211 2
d247 1
d285 1
a285 3
char *GetFileExtension (char *tempName, char *fileName);
char *NameWithoutPath (char *tempName, char *fileName);
char *PathWithoutName (char *tempName, char *fileName);
a291 3
BOOL AskForNewFileName (HWND hParentWnd, char *fileName, char *startDir);
BOOL AskForFilePath (HWND hParentWnd, char *pathName, char *title);
BOOL VerifyFileName (char *fileName);
d310 14
d424 1
d460 1
d538 25
@



1.48
log
@fixes for new hashtable stuff, shellsort decl.
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.47 1994/09/02 19:22:36 martin Exp rushing $
d44 1
a44 1
BOOL FAR PASCAL WinVnMailDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
@



1.47
log
@martin fixes
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.46 1994/08/24 18:40:15 mrr Exp martin $
d253 1
a253 1
int GroupCompare(TypLine const far * far *g1,TypLine const far * far *g2);
d371 5
a375 4
void __far ShellSort (void far *,
            size_t, size_t,
            int (*compare)
             (TypLine const far * far *, TypLine const far * far *));
@



1.46
log
@authorization enables post/mail
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.45 1994/08/24 17:59:26 jcooper Exp $
d248 1
a248 1
unsigned int HashGroup(unsigned char far *gname);
d254 1
a254 1
BOOL FAR PASCAL WinVnGroupListDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
@



1.45
log
@misc encoding/decoding changes
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.44 1994/08/23 23:07:06 martin Exp $
d227 2
a228 1
BOOL AuthenticatePosting(void);
d230 1
d308 2
a309 2
void	DecodeInit ();
void	DecodeDone ();
d414 2
a415 2
#define	    IDM_DECODE_FILE	   118
#define	    IDM_ENCODE_FILE	   119
d476 7
a482 7
#define IDM_SAVE_SELECTED	466
#define IDM_DECODE_SELECTED	467
#define IDM_DESELECT_ALL	468
#define IDM_SELECT_ALL		469
#define IDM_SELECT_MATCH	470
#define IDM_RETRIEVE_COMPLETE 	471
#define IDM_ARTICLE_RETRIEVE_COMPLETE 	472
d505 1
a505 1
#define IDM_MARK_ALL			600
d517 1
a517 1
#define IDS_FILTERSTRING	0
@



1.44
log
@new hash table stuff
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.43 1994/08/11 02:25:59 dumoulin Exp $
d138 1
a308 1
void	DestroyCodedBlock (TypCoded *thisCoded);
@



1.43
log
@enabled STRICT compile and cleaned up parameter casting
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.42 1994/08/11 00:15:51 jcooper Exp dumoulin $
d243 1
d247 2
d255 1
@



1.42
log
@change function spec for FinishAttachment and add RETRIEVE_COMPLETE
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.41 1994/08/04 05:47:33 dumoulin Exp $
d14 1
a14 1
BOOL WinVnInit(HANDLE hInstance, LPSTR lpCmdLine);
@



1.41
log
@Changed function spec of PrintDlgProc from BOOL to LRESULT
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.40 1994/08/02 05:00:16 dumoulin Exp dumoulin $
d332 1
a332 1
void FinishAttachment ();
d476 1
@



1.40
log
@change HANDLE to HINSTANCE for better NT compatiblity
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.39 1994/07/28 21:14:19 dumoulin Exp dumoulin $
d45 1
d219 1
a219 1
BOOL CALLBACK PrintDlgProc(HWND, UINT, WPARAM, LPARAM);
@



1.39
log
@yet another attempt at fixing printing
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.38 1994/07/26 22:17:28 dumoulin Exp dumoulin $
d13 1
a13 1
int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int);
d217 2
a218 1
BOOL WINAPI PrintDlgProc(HWND, WORD, WORD, LPARAM);
@



1.38
log
@Changed function prototype for printing function
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.37 1994/07/25 18:51:48 jcooper Exp dumoulin $
d215 1
a215 1
BOOL WINAPI AbortProc (HDC,WORD);
@



1.37
log
@execution of decoded files
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.36 1994/07/01 03:44:54 dumoulin Exp $
d214 1
a214 1
HDC WINAPI GetPrinterDC(HDC);
@



1.36
log
@Converted some FAR PASCAL pointers to WINAPI for better portability
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.35 1994/06/30 16:38:39 dumoulin Exp dumoulin $
d270 1
d278 1
@



1.35
log
@Changed some FAR PASCAL calls to WINAPI calls for better compatibility
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.34 1994/06/23 23:05:54 dumoulin Exp dumoulin $
d22 1
a22 1
long FAR PASCAL WinVnArtWndProc(HWND, UINT, WPARAM, LPARAM);
d444 1
@



1.34
log
@added function specs for new printing functions
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.33 1994/06/09 18:39:34 rushing Exp dumoulin $
d20 1
a20 1
long FAR PASCAL WinVnConfWndProc(HWND, UINT, WPARAM, LPARAM);
d25 1
a25 1
BOOL FAR PASCAL About(HWND, unsigned, WORD, LONG);
d210 12
a221 8
/* In file WVPRINT.C */      /* JD 930208 */
BOOL FAR PASCAL FreePrinterDC(void);
HDC FAR PASCAL GetPrinterDC(HDC);
int FAR PASCAL AbortProc (HDC,WORD);
DWORD FAR PASCAL PrinterSetup(HWND,DWORD);
BOOL FAR PASCAL PrintDlgProc(HWND, WORD, WORD, LPARAM);
void FAR PASCAL PrintFile(HWND);
void FAR PASCAL PrintArticle(HWND,TypDoc *Doc);
a509 2
/* Print Dialog Box constants */
#include <commdlg.h> 
@



1.33
log
@word-wrap, dot-doubling, and default port numbers
@
text
@d2 1
a2 1
 * $Id: winvn.h 1.32 1994/06/06 22:08:22 rushing Exp rushing $
d211 2
d214 1
a214 1
HDC FAR PASCAL GetPrinterDC(void);
d431 1
d504 4
a507 1
#include "wvdlg.h"
@



1.32
log
@id keyword back in, log messages out.
@
text
@d2 1
a2 1
 * $Id: $
d220 1
d229 1
@



1.31
log
@support for horizontal scrolling
@
text
@d2 1
a2 93
 *
 * Revision 1.29  1994/05/19  02:02:10  rushing
 * changes for gensock & version 0.91
 *
 * Revision 1.28  1994/02/24  21:25:08  jcoop
 * jcoop changes
 *
 * Revision 1.27  1994/02/16  21:04:46  cnolan
 * cnolan changes to 90.3
 *
 * Revision 1.26  1994/02/09  01:33:36  cnolan
 * cnolan changes
 *
 * Revision 1.25  1994/01/24  17:39:47  jcoop
 * 90.2 changes
 *
 * Revision 1.24  1994/01/16  00:27:38  jcoop
 * Declarations for jcoop's new stuff
 *
 * Revision 1.23  1994/01/12  19:25:59  mrr
 * mrr mods 4
 * 
 * Revision 1.22  1993/12/08  01:29:07  rushing
 * new version box and cr lf consistency
 *
 * Revision 1.21  1993/08/25  18:53:17  mbretherton
 * MRB merge, mail & post logging
 *
 * Revision 1.20  1993/08/25  17:04:57  mbretherton
 * merge from first newsrc.zip
 *
 * Revision 1.2x  21/7/93 Matthew B.
 *                remove vRef (for Macintosh only)
 *
 * Revision 1.19  1993/08/18  21:49:21  rushing
 * more 16-bit article number fixes.
 *
 * Revision 1.18  1993/08/05  20:06:07  jcoop
 * save multiple articles changes by jcoop@@oakb2s01.apl.com (John S Cooper)
 *
 * Revision 1.17  1993/07/13  16:03:04  riordan
 * MRR mods
 *
 * Revision 1.16  1993/07/06  21:09:09  cnolan
 * win32 support
 *
 * Revision 1.15  1993/06/28  17:51:39  rushing
 * fixed compiler warnings
 *
 * Revision 1.14  1993/06/25  20:26:07  dumoulin
 * Added StringDate to support POSIX standard numeric dates
 *
 * Revision 1.13  1993/06/24  17:13:14  riordan
 * Save window positions between sessions.
 *
 * Revision 1.12  1993/06/11  00:12:13  rushing
 * second merge from Matt Bretherton sources.
 *
 *
 * Revision 1.11  1993/06/10  18:27:50  rushing
 * added set_index_to_identity to prepare for writing article ranges
 *
 * Revision 1.10  1993/06/08  19:42:17  rushing
 * added support for Sort... menu
 *
 * Revision 1.9  1993/06/01  18:16:44  rushing
 * moved header funcs to headarry.c
 *
 * Revision 1.8  1993/05/29  03:32:30  rushing
 * threading support
 *
 * Revision 1.7  1993/05/28  18:23:23  rushing
 * fixed far/huge problem in find_art_by_subject
 *
 * Revision 1.6  1993/05/24  23:28:04  rushing
 * Header formatting refinements (MRB)
 *
 * Revision 1.5  1993/05/18  22:11:40  rushing
 * smtp support
 *
 * Revision 1.4  1993/05/13  16:17:12  rushing
 * article fetch limit support
 *
 * Revision 1.3  1993/05/01  01:36:56  rushing
 * added IDM_UPDATE
 *
 * Revision 1.2  1993/03/30  20:46:27  DUMOULIN
 * MAPI
 *
 * Revision 1.1  1993/02/16  20:54:42  rushing
 * Initial revision
 *
 *
@



1.30
log
@new attach code, session [dis]connect
@
text
@d225 1
@



1.29
log
@changes for gensock & version 0.91
@
text
@d3 3
a5 2
 * $Id: winvn.h 1.28 1994/02/24 21:25:08 jcoop Exp $
 * $Log: winvn.h $
d152 2
d162 1
d387 1
a387 1
void	Encode (TypTextBlock *textBlock, char *fileName, int mode);
d410 3
d495 2
@



1.28
log
@jcoop changes
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.27 1994/02/16 21:04:46 cnolan Exp $
d5 3
d308 2
a309 1
void PutCommLine(char *line,unsigned int nchars);
@



1.27
log
@cnolan changes to 90.3
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.26 1994/02/09 01:33:36 cnolan Exp $
d5 3
d119 1
d132 1
d262 1
d366 1
@



1.26
log
@cnolan changes
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.25 1994/01/24 17:39:47 jcoop Exp $
d5 3
d554 2
@



1.25
log
@90.2 changes
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.24 1994/01/16 00:27:38 jcoop Exp $
d5 3
d233 1
@



1.24
log
@Declarations for jcoop's new stuff
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.23 1994/01/12 19:25:59 mrr Exp $
d5 3
d274 1
a274 1
BOOL StartPost(HWND hWnd);
d279 1
a279 1
BOOL StartMail(WndEdit *MailWnd);
d345 1
d349 5
d541 6
@



1.23
log
@mrr mods 4
@
text
@a0 1

d3 1
a3 1
 * $Id: winvn.h 1.22 1993/12/08 01:29:07 rushing Exp $
d5 3
d114 5
d122 1
a122 1
VOID CheckView(HWND);
a134 4
BOOL WritePrivateProfileInt(char far *lpAppName,char far *lpKeyName,int intval, char far *lpProFile);



d137 4
d143 5
d152 3
a154 1
void ViewArticle(TypDoc *Doc, long artindex ,BOOL Reuse, BOOL showArt);
d213 1
a213 1
BOOL MRRWriteLine(TypMRRFile *MRRFile,char far *Linebuf,int Len);
d217 2
a218 1
DWORD StrToRGB(char *cstring);
d227 2
d266 1
a266 1
BOOL WriteEditLog(HWND hWnd, char *fName , char *mBuf);
d276 1
a276 1
BOOL StartMail(HWND hWnd,int ih);
d326 54
d444 1
d453 2
d462 1
d477 1
a478 2
#define     IDM_POST             420

d483 3
d511 6
a516 5
#define IDM_SAVE_SELECTED  466
#define IDM_DESELECT_ALL   467
#define IDM_SELECT_ALL     468
#define IDM_SELECT_MATCH   469
#define IDM_RETRIEVE_COMPLETE 468
d518 15
d541 3
@



1.22
log
@new version box and cr lf consistency
@
text
@d4 1
a4 1
 * $Id: winvn.h 1.21 1993/08/25 18:53:17 mbretherton Exp rushing $
d6 3
d113 15
a129 5
void ForAllLines(TypDoc *Doc,
   void lpfnFunc(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue),
   int wFlag, int wValue);
void SetLineFlag(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue);
void GroupAction(TypDoc *Doc, TypBlock far **BlockPtr, TypLine far **LinePtr, int wFlag, int wValue);
a131 1
VOID CheckView(HWND);
a134 1
void MakeHelpPathName(char * szFileName, int maxchars);
a138 3
int  ReadNewsrc(void);
void WriteNewsrc(void);
void SetNetDocTitle(void);
a139 2
BOOL CursorToTextLine(int X,int Y,TypDoc *DocPtr,TypBlock far **BlockPtr,
  TypLine far **LinePtr);
d146 1
d158 7
a164 1

d183 1
a183 2
BOOL CrackGroupLine(char *buf,TypLine *lineptr);

d194 1
a215 1
int cursor_to_char_number (int X, int Y,TypDoc *DocPtr,TypBlock far **BlockPtr,TypLine far **LinePtr);
d249 1
a249 1
void WriteEditLog(HWND hWnd, char *fName , char *mBuf);
d318 1
a318 1
			     int (*compare) (header_p headers, long elem1,long elem2));
d327 1
a327 1
int MRRDecrypt(char *cipherText,unsigned char *plainText, int plainMax);
d329 3
d340 3
a342 3
		      size_t, size_t,
		      int (*compare)
			    (TypLine const far * far *, TypLine const far * far *));
d427 11
a437 11
#define	IDM_SORT_DATE		460
#define	IDM_SORT_SUBJECT	461
#define	IDM_SORT_LINES		462
#define	IDM_SORT_THREADS	463
#define	IDM_SORT_ARTNUM		464
#define IDM_SORT_FROM		465

#define IDM_SAVE_SELECTED	466
#define IDM_DESELECT_ALL	467
#define IDM_SELECT_ALL		468
#define IDM_SELECT_MATCH	469
@



1.21
log
@MRB merge, mail & post logging
@
text
@d1 2
a2 1
 /*
d4 1
a4 1
 * $Id: winvn.h 1.20 1993/08/25 17:04:57 mbretherton Exp $
d6 2
a7 3
<<<<<<< winvn.h
 * Revision 1.2x  21/7/93 Matthew B.
 *                remove vRef (for Macintosh only)
a8 1
=======
a10 1
 * ,
a23 1
>>>>>>> 1.20
@



1.20
log
@merge from first newsrc.zip
,
@
text
@d1 1
a1 1
/*
d3 1
a3 1
 * $Id: winvn.h 1.19 1993/08/18 21:49:21 rushing Exp $
d5 1
d9 8
d26 1
d244 1
d246 1
a246 1
BOOL PostText(int ih,int DocType);
@



1.19
log
@more 16-bit article number fixes.
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.18 1993/08/05 20:06:07 jcoop Exp rushing $
d5 6
d72 1
a72 1
  #define	__near near
d101 2
d176 1
a176 1
HANDLE MRROpenFile(char *FileName,int vRef,int Mode,TypMRRFile **MRRFile);
d180 1
a180 1
BOOL MRRWriteDocument(TypDoc *Document,int Offset,char *szFileName,int vRef,BOOL Append);
d191 2
a192 1
BOOL isLineQuotation(char *textptr) ;
d228 3
a230 2
DoEditCommands(HWND hWndEdit,WPARAM wParam,LPARAM lParam);

d234 1
a234 1
BOOL StartPost(int ih);
d318 2
a319 2
	              int (*compare)
                            (TypLine const far * far *, TypLine const far * far *));
d337 1
a337 1
#define     IDM_GROUP_TOP	   108
d345 1
d364 1
a364 1
#define     IDM_SAVE_WINDOW	   141
a371 1
#define     IDV_CREATE             204
d378 1
d380 1
a380 1
#define     IDM_FOLLOWUP         420
d388 1
a388 1
#define     IDM_SEARCH		 452
d391 1
a391 1
#define     IDM_POST             470
d420 5
a424 5
#define GWW_HWNDEDIT	0
#define GWW_CHANGED	2
#define GWW_WORDWRAP	4
#define GWW_UNTITLED	6
#define CBWNDEXTRA	8
@



1.18
log
@save multiple articles changes by jcoop@@oakb2s01.apl.com (John S Cooper)
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.17 1993/07/13 16:03:04 riordan Exp $
d5 3
d179 1
a179 1
BOOL WasArtSeen(long int ArtNum,TypGroup far *GroupPtr);
@



1.17
log
@MRR mods
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.16 1993/07/06 21:09:09 cnolan Exp $
d5 3
d83 1
d116 1
a116 1
void ViewArticle(TypDoc *Doc, long artindex ,BOOL Reuse);
d396 6
@



1.16
log
@win32 support
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.15 1993/06/28 17:51:39 rushing Exp $
d5 3
d287 5
@



1.15
log
@fixed compiler warnings
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.14 1993/06/25 20:26:07 dumoulin Exp rushing $
d5 3
d54 6
d151 2
a152 2
void ScrollIt(TypDoc *Document,WORD wParam,DWORD lParam);
void NewScrollIt(TypDoc *Document,WORD wParam,DWORD lParam);
@



1.14
log
@Added StringDate to support POSIX standard numeric dates
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.13 1993/06/24 17:13:14 riordan Exp dumoulin $
d5 3
d198 1
a198 1
BOOL FAR PASCAL editIntercept(HWND hWnd,unsigned iMessage,WORD wParam,LONG lParam);
d228 1
a228 1

d245 6
a250 5
 mlPOPSend (HWND hWnd, char *mBuf);
 MailClose (HWND hWnd);
 void SetMailType (int mailType);
 void MailEnableLogout(BOOL enable);
 void MailCrashExit(HWND hWnd) ;
@



1.13
log
@Save window positions between sessions.
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.12 1993/06/11 00:12:13 rushing Exp $
d5 3
d154 1
@



1.12
log
@second merge from Matt Bretherton sources.
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.11 1993/06/10 18:27:50 rushing Exp $
d5 2
d8 1
d295 1
a295 1
#define     IDM_GROUP_TOP          108
d321 1
@



1.11
log
@added set_index_to_identity to prepare for writing article ranges
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.10 1993/06/08 19:42:17 rushing Exp rushing $
d5 4
d188 4
d236 4
d244 1
d246 2
d348 1
@



1.10
log
@added support for Sort... menu
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.9 1993/06/01 18:16:44 rushing Exp rushing $
d5 3
d241 1
@



1.9
log
@moved header funcs to headarry.c
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.8 1993/05/29 03:32:30 rushing Exp rushing $
d5 3
a236 2
void sort_by_date (HANDLE header_handle, HANDLE thread_handle, long length);
void sort_by_subject (HANDLE header_handle, HANDLE thread_handle, long length);
d238 7
d336 7
@



1.8
log
@threading support
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.7 1993/05/28 18:23:23 rushing Exp rushing $
d5 3
d228 1
a228 1
/* in file wvutil.c */
d230 1
a230 1
char huge * lock_headers (HANDLE header_handle,HANDLE thread_handle);
d233 4
@



1.7
log
@fixed far/huge problem in find_art_by_subject
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.6 1993/05/24 23:28:04 rushing Exp rushing $
d5 3
d220 1
a220 1
 /* In file WVMAPI.C */
d225 5
a229 1

@



1.6
log
@Header formatting refinements (MRB)
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.5 1993/05/18 22:11:40 rushing Exp $
d5 3
d141 1
a141 1
long find_article_by_subject (TypHeader far *headers,long artindex,long num_headers);
@



1.5
log
@smtp support
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.4 1993/05/13 16:17:12 rushing Exp rushing $
d5 3
d132 11
d145 1
d305 4
@



1.4
log
@article fetch limit support
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.3 1993/05/01 01:36:56 rushing Exp rushing $
d5 3
d38 1
a38 1
BOOL FAR PASCAL WinVnSubjectDlg(HWND hDlg,unsigned iMessage,WORD wParam,LONG lParam);
d143 1
d179 2
d291 1
@



1.3
log
@added IDM_UPDATE
@
text
@d3 1
a3 1
 * $Id: winvn.h 1.2 1993/03/30 20:46:27 DUMOULIN Exp rushing $
d5 3
d41 1
@



1.2
log
@MAPI
@
text
@d3 5
a7 2
 * $Id: winvn.h%v 1.1 1993/02/16 20:54:42 rushing Exp $
 * $Log: winvn.h%v $
d280 1
@



1.1
log
@Initial revision
@
text
@d3 4
a6 2
 * $Id$
 * $Log$
d8 1
d122 2
d138 1
a138 1
HWND CreatePostingWnd(TypDoc *Doc,int DocType);
d140 2
d151 1
a151 1
BOOL StartMail(int ih);
d183 8
d192 1
d277 2
@

