mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.8 KiB
117 lines
3.8 KiB
#ifndef VWDEFS_H
|
|
#define VWDEFS_H
|
|
|
|
typedef struct fdesc
|
|
{
|
|
SHORT FilterId;
|
|
CHAR FilterType;
|
|
CHAR FileDescription[40];
|
|
} FILTER_DESC;
|
|
|
|
typedef struct VWINFOtag
|
|
{
|
|
DWORD VwCheck;
|
|
WORD VwSaveSize;
|
|
WORD VwDynamicSize;
|
|
WORD VwStaticSize;
|
|
WORD VwSpecLevel;
|
|
WORD VwFilterLevel;
|
|
WORD VwIdCount;
|
|
WORD VwIds[15];
|
|
BYTE VwDate[12];
|
|
BYTE VwTime[10];
|
|
WORD VwUserSaveSize;
|
|
} VWINFO;
|
|
|
|
#define VWINFO_SAVESIZE 1 /* WORD */
|
|
#define VWINFO_DYNAMICSIZE 2 /* WORD */
|
|
#define VWINFO_STATICSIZE 3 /* WORD */
|
|
#define VWINFO_SPECLEVEL 4 /* WORD */
|
|
#define VWINFO_FILTERLEVEL 5 /* WORD */
|
|
#define VWINFO_IDCOUNT 6 /* WORD */
|
|
#define VWINFO_IDS 7 /* Array of IDCOUNT WORDs */
|
|
#define VWINFO_DATE 8 /* string (max 12 bytes) */
|
|
#define VWINFO_TIME 9 /* string (max 10 bytes) */
|
|
#define VWINFO_USERSAVESIZE 10 /* WORD */
|
|
#define VWINFO_SECTIONSAVESIZE 11 /* WORD */
|
|
#define VWINFO_CHECK 12 /* DWORD */
|
|
|
|
// Here's another change to piss Phil off -- OS requires the linkage to modify the element name
|
|
// and therefore must occur after the *. Sorry...
|
|
|
|
#ifdef OS2
|
|
#define VWFUNC_ELEMENT * VW_ENTRYMOD
|
|
#endif
|
|
|
|
#ifdef WINDOWS
|
|
#define VWFUNC_ELEMENT VW_ENTRYMOD *
|
|
#endif
|
|
|
|
#ifdef MAC
|
|
#define VWFUNC_ELEMENT VW_ENTRYMOD *
|
|
#endif
|
|
|
|
typedef struct VWRTNStag
|
|
{
|
|
SHORT (VWFUNC_ELEMENT StreamOpen)(SOFILE, SHORT, BYTE VWPTR *, SOFILTERINFO VWPTR * ,HPROC);
|
|
SHORT (VWFUNC_ELEMENT StreamSection)(SOFILE,HPROC);
|
|
SHORT (VWFUNC_ELEMENT StreamRead)(SOFILE, HPROC);
|
|
SHORT (VWFUNC_ELEMENT StreamTell)(SOFILE, HPROC);
|
|
SHORT (VWFUNC_ELEMENT StreamSeek)(SOFILE, HPROC);
|
|
BOOL (VWFUNC_ELEMENT GetInfo)(VOID VWPTR *, WORD, HPROC);
|
|
VOID (VWFUNC_ELEMENT GetData)(VOID VWPTR *, HPROC);
|
|
VOID (VWFUNC_ELEMENT SetData)(VOID VWPTR *, HPROC);
|
|
VOID (VWFUNC_ELEMENT LocalUp)(HIOFILE, SOFILE VWPTR *, HPROC);
|
|
VOID (VWFUNC_ELEMENT LocalDown)(SOFILE, HIOFILE VWPTR *, HPROC);
|
|
HPROC (VWFUNC_ELEMENT AllocProc)(VOID);
|
|
VOID (VWFUNC_ELEMENT FreeProc)(HPROC);
|
|
VOID (VWFUNC_ELEMENT SetUser)(DWORD,DWORD,HPROC);
|
|
#ifdef OS2
|
|
VOID (VWFUNC_ELEMENT SetSoRtn)(SHORT, VOID (* SO_ENTRYMOD)(), HPROC);
|
|
#else
|
|
VOID (VWFUNC_ELEMENT SetSoRtn)(SHORT, VOID (SO_ENTRYMOD *)(), HPROC);
|
|
#endif
|
|
VOID (VWFUNC_ELEMENT StreamClose)(SOFILE, HPROC);
|
|
VOID (VWFUNC_ELEMENT GetSectionData)(VOID VWPTR *, HPROC);
|
|
VOID (VWFUNC_ELEMENT SetSectionData)(VOID VWPTR *, HPROC);
|
|
VOID (VWFUNC_ELEMENT StreamReadRecord)(SOFILE, DWORD, HPROC);
|
|
VOID (VWFUNC_ELEMENT DoSpecial)(SOFILE, DWORD, DWORD, DWORD, DWORD, DWORD, HPROC);
|
|
} VWRTNS;
|
|
|
|
|
|
#define VWRTN_STREAMOPEN 1
|
|
#define VWRTN_STREAMSECTION 2
|
|
#define VWRTN_STREAMREAD 3
|
|
#define VWRTN_STREAMTELL 4
|
|
#define VWRTN_STREAMSEEK 5
|
|
#define VWRTN_GETINFO 6
|
|
#define VWRTN_GETDATA 7
|
|
#define VWRTN_SETDATA 8
|
|
#define VWRTN_LOCALUP 9
|
|
#define VWRTN_LOCALDOWN 10
|
|
#define VWRTN_ALLOCPROC 11
|
|
#define VWRTN_FREEPROC 12
|
|
#define VWRTN_SETUSER 13
|
|
#define VWRTN_SETSORTN 14
|
|
#define VWRTN_STREAMCLOSE 15
|
|
#define VWRTN_GETSECTIONDATA 16
|
|
#define VWRTN_SETSECTIONDATA 17
|
|
#define VWRTN_STREAMREADRECORD 18
|
|
#define VWRTN_DOSPECIAL 19
|
|
|
|
/*
|
|
| Error returns on the Open routine
|
|
*/
|
|
|
|
#define VWERR_OK 0 /* file is OK */
|
|
#define VWERR_BADFILE -2 /* corrupt or unreadable file */
|
|
#define VWERR_EMPTYFILE -3 /* empty file */
|
|
#define VWERR_PROTECTEDFILE -4 /* password protected or encrypted file */
|
|
#define VWERR_SUPFILEOPENFAILS -5 /* secondary file open failed */
|
|
#define VWERR_ALLOCFAILS -6 /* memory allocation fails */
|
|
#define VWERR_TYPENOTSUPPORTED -7 /* this flavor of the file type is not supported */
|
|
#define VWERR_THREADCREATEFAILS -8 /* Win32 or OS/2 sould not create a thread to run the open,section or read routine in */
|
|
#define VWERR_TIMEOUT -9 /* The filter has taken too long, we assume it is in a loop (used with threads in Win32 and OS/2) */
|
|
|
|
#endif /*VWDEFS_H*/
|
|
|