home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
LIBSRC.ZOO
/
libsrc
/
local
/
os2.h
< prev
next >
Wrap
Text File
|
1992-03-14
|
8KB
|
300 lines
typedef unsigned long ULONG;
typedef unsigned short USHORT;
#define SHORT short
typedef char *PSZ;
typedef unsigned char BYTE;
typedef BYTE *PBYTE;
#define VOID void
typedef VOID *PVOID;
#define CHAR char
typedef CHAR *PCHAR;
typedef unsigned char UCHAR;
typedef unsigned long TID;
typedef unsigned long PID;
#ifndef NULL
#define NULL 0
#endif
#if (defined(INCL_DOSFILEMGR) || !defined(INCL_NOCOMMON))
typedef unsigned long HFILE;
typedef HFILE *PHFILE;
typedef unsigned long HDIR;
#define FILE_NORMAL 0x0000
#define FILE_READONLY 0x0001
#define FILE_DIRECTORY 0x0010
#define FILE_OPEN 0x0001
#define FILE_TRUNCATE 0x0002
#define FILE_CREATE 0x0010
#define OPEN_ACCESS_READONLY 0x0000
#define OPEN_ACCESS_WRITEONLY 0x0001
#define OPEN_ACCESS_READWRITE 0x0002
#define OPEN_SHARE_DENYNONE 0x0040
#define FILE_BEGIN 0x0000
#define FILE_CURRENT 0x0001
#define FILE_END 0x0002
#define SEARCH_CUR_DIRECTORY 0x0001
#define SEARCH_ENVIRONMENT 0x0002
typedef struct _FDATE {
USHORT day : 5;
USHORT month : 4;
USHORT year : 7;
} FDATE;
typedef FDATE *PFDATE;
typedef struct _FTIME {
USHORT twosecs : 5;
USHORT minutes : 6;
USHORT hours : 5;
} FTIME;
typedef FTIME *PFTIME;
typedef struct _FILESTATUS {
FDATE fdateCreation;
FTIME ftimeCreation;
FDATE fdateLastAccess;
FTIME ftimeLastAccess;
FDATE fdateLastWrite;
FTIME ftimeLastWrite;
ULONG cbFile;
ULONG cbFileAlloc;
USHORT attrFile;
} FILESTATUS;
typedef FILESTATUS *PFILESTATUS;
#define CCHMAXPATHCOMP 256
typedef struct _FILEFINDBUF3 {
ULONG oNextEntryOffset;
FDATE fdateCreation;
FTIME ftimeCreation;
FDATE fdateLastAccess;
FTIME ftimeLastAccess;
FDATE fdateLastWrite;
FTIME ftimeLastWrite;
ULONG cbFile;
ULONG cbFileAlloc;
ULONG attrFile;
UCHAR cchName;
CHAR achName[CCHMAXPATHCOMP];
} FILEFINDBUF3;
#define HDIR_CREATE (-1)
#endif
#ifdef INCL_DOSERRORS
#define ERROR_FILE_NOT_FOUND 2
#define ERROR_PATH_NOT_FOUND 3
#define ERROR_TOO_MANY_OPEN_FILES 4
#define ERROR_ACCESS_DENIED 5
#define ERROR_INVALID_HANDLE 6
#define ERROR_NOT_ENOUGH_MEMORY 8
#define ERROR_INVALID_ACCESS 12
#define ERROR_NOT_SAME_DEVICE 17
#define ERROR_SHARING_VIOLATION 32
#define ERROR_LOCK_VIOLATION 33
#define ERROR_INVALID_PARAMETER 87
#define ERROR_BROKEN_PIPE 109
#define ERROR_OPEN_FAILED 110
#define ERROR_DISK_FULL 112
#define ERROR_WAIT_NO_CHILDREN 128
#define ERROR_NO_CHILD_PROCESS 184
#define ERROR_FILENAME_EXCED_RANGE 206
#define ERROR_CIRCULARITY_REQUESTED 250
#endif
#ifdef INCL_DOSSIGNALS
#define XCPT_CONTINUE_SEARCH 0x00000000
#define XCPT_CONTINUE_EXECUTION 0xFFFFFFFF
#define XCPT_GUARD_PAGE_VIOLATION 0x80000001
#define XCPT_UNABLE_TO_GROW_STACK 0x80010001
#define XCPT_ACCESS_VIOLATION 0xC0000005
#define XCPT_IN_PAGE_ERROR 0xC0000006
#define XCPT_ILLEGAL_INSTRUCTION 0xC000001C
#define XCPT_INVALID_LOCK_SEQUENCE 0xC000001D
#define XCPT_NONCONTINUABLE_EXCEPTION 0xC0000024
#define XCPT_INVALID_DISPOSITION 0xC0000025
#define XCPT_UNWIND 0xC0000026
#define XCPT_BAD_STACK 0xC0000027
#define XCPT_INVALID_UNWIND_TARGET 0xC0000028
#define XCPT_ARRAY_BOUNDS_EXCEEDED 0xC0000093
#define XCPT_FLOAT_DENORMAL_OPERAND 0xC0000094
#define XCPT_FLOAT_DIVIDE_BY_ZERO 0xC0000095
#define XCPT_FLOAT_INEXACT_RESULT 0xC0000096
#define XCPT_FLOAT_INVALID_OPERATION 0xC0000097
#define XCPT_FLOAT_OVERFLOW 0xC0000098
#define XCPT_FLOAT_STACK_CHECK 0xC0000099
#define XCPT_FLOAT_UNDERFLOW 0xC000009A
#define XCPT_INTEGER_DIVIDE_BY_ZERO 0xC000009B
#define XCPT_INTEGER_OVERFLOW 0xC000009C
#define XCPT_PRIVILEGED_INSTRUCTION 0xC000009D
#define XCPT_DATATYPE_MISALIGNMENT 0xC000009E
#define XCPT_BREAKPOINT 0xC000009F
#define XCPT_SINGLE_STEP 0xC00000A0
#define XCPT_PROCESS_TERMINATE 0xC0010001
#define XCPT_ASYNC_PROCESS_TERMINATE 0xC0010002
#define XCPT_SIGNAL 0xC0010003
#define XCPT_FATAL_EXCEPTION 0xC0000000
#define XCPT_CUSTOMER_CODE 0x20000000
struct _fpreg {
ULONG losig;
ULONG hisig;
USHORT signexp;
};
typedef struct _fpreg FPREG;
struct _CONTEXT {
ULONG ContextFlags;
ULONG ctx_env[7];
struct _fpreg ctx_stack[8];
ULONG ctx_SegGs;
ULONG ctx_SegFs;
ULONG ctx_SegEs;
ULONG ctx_SegDs;
ULONG ctx_RegEdi;
ULONG ctx_RegEsi;
ULONG ctx_RegEax;
ULONG ctx_RegEbx;
ULONG ctx_RegEcx;
ULONG ctx_RegEdx;
ULONG ctx_RegEbp;
ULONG ctx_RegEip;
ULONG ctx_SegCs;
ULONG ctx_EFlags;
ULONG ctx_RegEsp;
ULONG ctx_SegSs;
};
typedef struct _CONTEXT CONTEXTRECORD;
typedef struct _CONTEXT *PCONTEXTRECORD;
#define EXCEPTION_MAXIMUM_PARAMETERS 4
struct _EXCEPTIONREPORTRECORD {
ULONG ExceptionNum;
ULONG fHandlerFlags;
struct _EXCEPTIONREPORTRECORD *NestedExceptionReportRecord;
PVOID ExceptionAddress;
ULONG cParameters;
ULONG ExceptionInfo[EXCEPTION_MAXIMUM_PARAMETERS];
};
typedef struct _EXCEPTIONREPORTRECORD EXCEPTIONREPORTRECORD;
typedef struct _EXCEPTIONREPORTRECORD *PEXCEPTIONREPORTRECORD;
struct _EXCEPTIONREGISTRATIONRECORD {
struct _EXCEPTIONREGISTRATIONRECORD *prev_structure;
ULONG (* ExceptionHandler)(PEXCEPTIONREPORTRECORD,
struct _EXCEPTIONREGISTRATIONRECORD *,
PCONTEXTRECORD,
PVOID);
};
typedef struct _EXCEPTIONREGISTRATIONRECORD EXCEPTIONREGISTRATIONRECORD;
typedef struct _EXCEPTIONREGISTRATIONRECORD *PEXCEPTIONREGISTRATIONRECORD;
#endif
#ifdef INCL_DOSMISC
#define FERR_DISABLEEXCEPTION 0x00000002L
#define QSV_TIME_LOW 15
#endif
#ifdef INCL_DOSPROCESS
#define DCWA_PROCESS 0
#define DCWW_WAIT 0
typedef struct _RESULTCODES {
ULONG codeTerminate;
ULONG codeResult;
} RESULTCODES;
typedef RESULTCODES *PRESULTCODES;
#define EXEC_SYNC 0
#define EXEC_ASYNCRESULT 2
struct pib_s {
ULONG pib_ulpid;
ULONG pib_ulppid;
ULONG pib_hmte;
PCHAR pib_pchcmd;
PCHAR pib_pchenv;
ULONG pib_flstatus;
ULONG pib_ultype;
};
typedef struct pib_s PIB;
typedef struct pib_s *PPIB;
struct tib2_s {
ULONG tib2_ultid;
ULONG tib2_ulpri;
ULONG tib2_version;
USHORT tib2_usMCCount;
USHORT tib2_fMCForceFlag;
};
typedef struct tib2_s TIB2;
typedef struct tib2_s *PTIB2;
struct tib_s {
PVOID tib_pexchain;
PVOID tib_pstack;
PVOID tib_pstacklimit;
PTIB2 tib_ptib2;
ULONG tib_version;
PVOID tib_arbpointer;
};
typedef struct tib_s TIB;
typedef struct tib_s *PTIB;
#endif
#ifdef INCL_DOSDATETIME
typedef struct _DATETIME {
UCHAR hours;
UCHAR minutes;
UCHAR seconds;
UCHAR hundredths;
UCHAR day;
UCHAR month;
USHORT year;
SHORT timezone;
UCHAR weekday;
} DATETIME;
typedef DATETIME *PDATETIME;
#endif
#if (defined(INCL_DOSMEMMGR) || !defined(INCL_NOCOMMON))
#define PAG_READ 0x00000001
#define PAG_WRITE 0x00000002
#define PAG_COMMIT 0x00000010
#endif