windows-nt/Source/XPSP1/NT/shell/osshell/accesory/terminal/fileopen.h
2020-09-26 16:20:57 +08:00

142 lines
5.6 KiB
C

#ifndef NO_MMSYSTEMH
#define NO_MMSYSTEMH
#endif
#include <windows.h> /* added -sdj*/
/*---------------------------------------------------------------------------*/
/* Option Declarations - FileOpen() */
/*---------------------------------------------------------------------------*/
#define FO_GETFILE 0x0000
#define FO_PUTFILE 0x0001
#define FO_FILEEXIST 0x0002
#define FO_FORCEEXTENT 0x0004 /* mbbx 2.00: no forced extents */
#define FO_BATCHMODE 0x1000
#define FO_NONDOSFILE 0x2000
#define FO_REMOTEFILE 0x4000
#define FO_GETFILENAME2 0x8000
/*---------------------------------------------------------------------------*/
/* Constant Declarations */
/*---------------------------------------------------------------------------*/
#define FO_MAXPATHLENGTH 513
#define FO_MAXFILELENGTH 16
#define FO_MAXEXTLENGTH 16
/*---------------------------------------------------------------------------*/
/* Type Declarations */
/*---------------------------------------------------------------------------*/
#define FILEOPENDATA struct tagFileOpenData
struct tagFileOpenData
{
BYTE file[FO_MAXPATHLENGTH];
BYTE file1[FO_MAXFILELENGTH];
BYTE file2[FO_MAXPATHLENGTH]; /* must be able to hold PATH */
BYTE extent[FO_MAXEXTLENGTH];
BYTE title[32]; /* mbbx 1.10: CUA... */
WORD wResID;
DLGPROC lpFilter; /* mbbx 2.00: new FO hook */
WORD wMode;
INT nType; /* mbbx 1.10: CUA */
};
/*---------------------------------------------------------------------------*/
/* Variable Declarations */
/*---------------------------------------------------------------------------*/
FILEOPENDATA *pFOData;
/*---------------------------------------------------------------------------*/
/* Rescource ID Declarations */
/*---------------------------------------------------------------------------*/
#define FO_STR_ERRCAPTION 0x0300
#define FO_STR_WARNCAPTION 0x0301
#define FO_STR_BADFILENAME 0x0302
#define FO_STR_FILENOTFOUND 0x0303
#define FO_STR_REPLACEFILE 0x0304
#define FO_LBFILE 0x0000 /* list FILES only */
#define FO_LBDIR 0xC010 /* list DIRECTORIES only */
#define FO_DBFILEOPEN 601
#define FO_DBFILETYPE 602
#define FO_DBSNDTEXT 603
#define FO_DBSNDFILE 604
#define FO_DBCOMPILE 605 /* mbbx 2.00: auto save DCP */
#define FO_DBFILESAVE 611
#define FO_DBFILEAPPEND 612
#define FO_DBRCVTEXT 613
#define FO_DBRCVFILE 614
#define FO_IDTITLE 621
#define FO_IDPROMPT 631
#define FO_IDFILENAME 632
#define FO_IDPROMPT2 633
#define FO_IDFILENAME2 634
#define FO_IDPATH 635
#define FO_IDFILELIST 641
#define FO_IDDIRLIST 642
#define FO_IDSETTINGS 651
#define FO_IDSCRIPT 652
#define FO_IDMEMO 653
#define FO_IDAPPEND 691
#define FO_IDCTRL 692
#define FO_IDTABLE 693
#define FO_IDSNDLF 694
#define FO_IDSNDNOLF 695
/*---------------------------------------------------------------------------*/
/* Function Prototypes */
/*---------------------------------------------------------------------------*/
BOOL FileOpen(BYTE *, BYTE *, BYTE *, BYTE *, BYTE *, WORD, DLGPROC, WORD); /* mbbx 2.00: new FO hook scheme... */
/* BOOL FileOpen(HWND, HANDLE, BYTE *, BYTE *, BYTE *, BYTE *, BYTE *, WORD, WORD); */
INT_PTR APIENTRY dbFileOpen(HWND, UINT, WPARAM, LPARAM);
BOOL NEAR FO_SaveFileName(HWND); /* mbbx 2.00 */
VOID NEAR FO_SetListItem(HWND, WORD, BOOL);
VOID NEAR FO_NewFilePath(HWND, WORD, BYTE *, BYTE *);
BOOL NEAR FO_AddFileType(BYTE *, BYTE *);
VOID NEAR FO_StripFileType(BYTE *);
BOOL NEAR FO_IsLegalDOSFN(BYTE *); /* mbbx 2.00: no forced extents... */
BOOL NEAR FO_IsLegalDOSCH(BYTE);
BOOL NEAR FO_IsLegalFN(BYTE *);
INT NEAR FO_ErrProc(WORD, WORD,HWND);
BOOL NEAR FO_SetCtrlFocus(HWND, HWND);
BOOL setPath(BYTE *, BOOL, BYTE *);
BOOL setFilePath(BYTE *);
VOID forceExtension(BYTE *, BYTE *, BOOL); /* mbbx 2.00: no forced extents... */
BOOL getFileType(BYTE *, BYTE *);
/*---------------------------------------------------------------------------*/
/* mbbx 2.00: new FO hook scheme... */
#ifdef ORGCODE
BOOL APIENTRY FO_FileOpenType (HWND, WORD, WORD, LONG); /* mbbx 2.00: CUA */
VOID APIENTRY FO_SaveSelection(HWND, WORD, WORD, LONG);
VOID APIENTRY FO_SendTextFile (HWND, WORD, WORD, LONG);
VOID APIENTRY FO_RcvTextFile (HWND, WORD, WORD, LONG);
VOID APIENTRY FO_ScriptCompile(HWND, WORD, WORD, LONG); /* mbbx 2.00: auto save DCP */
#else
INT_PTR APIENTRY FO_FileOpenType (HWND, UINT, WPARAM, LPARAM); /* mbbx 2.00: CUA */
INT_PTR APIENTRY FO_SaveSelection(HWND, UINT, WPARAM, LPARAM);
INT_PTR APIENTRY FO_SendTextFile (HWND, UINT, WPARAM, LPARAM);
INT_PTR APIENTRY FO_RcvTextFile (HWND, UINT, WPARAM, LPARAM);
INT_PTR APIENTRY FO_ScriptCompile(HWND, UINT, WPARAM, LPARAM); /* mbbx 2.00: auto save DCP */
#endif