home *** CD-ROM | disk | FTP | other *** search
- /*-------------------------------------------------------------------- */
- /* rxvar.h */
- /*NOTE: */
- /*This is a completly experimental program in it's pre-beta version. */
- /*It is not guaranteed to work properly under all circumstances, although */
- /*it has been tested for a couple of weeks. Everyone who uses this program */
- /*does this on his own risk, so if your machine explodes, don't tell me */
- /*you didn't know. */
- /* */
- /*Andreas Gruen releases this software "as is", with no express or */
- /*implied warranty, including, but not limited to, the implied warranties */
- /*of merchantability and fitness for a particular purpose. */
- /* */
- /*This program is completly free for everyone. */
- /*You can do with it and its sources whatever you want, but it would */
- /*be fine to leave my name somewhere in the program or startup-banner. */
- /*--------------------------------------------------------------------- */
-
- typedef unsigned char UCHAR;
- typedef unsigned short USHORT;
- typedef unsigned long ULONG;
-
- struct _doshead { /* DOS EXE-header*/
- USHORT sign; /* 'MZ' byte-swapped*/
- USHORT bonlpage; /* bytes in last page */
- USHORT npageexe; /* total # of pages (512 byte) in EXE*/
- USHORT nreloc; /* # of relocation entries*/
- USHORT nparhead;
- USHORT minalloc;
- USHORT maxalloc;
- USHORT sp;
- USHORT ss;
- USHORT chksum;
- USHORT ip;
- USHORT cs;
- USHORT posreloc;
- USHORT overlay;
- UCHAR reserv[28];
- UCHAR oeminfo[4];
- ULONG posnewhead;
- };
-
- typedef struct _doshead DOSHEAD;
-
- struct _oshead {
- USHORT sign;
- USHORT linkver; /*swap*/
- USHORT posentrytab;
- USHORT szentrytab; /* in Bytes */
- ULONG crc;
- USHORT exeflags;
- USHORT ordautoseg;
- USHORT szheapsize;
- USHORT szdstack;
- USHORT ip;
- USHORT cs;
- USHORT sp;
- USHORT ss;
- USHORT nsegtab;
- USHORT nmodulref;
- USHORT sznrestab;
- USHORT possegtab; /*from new head*/
- USHORT posrctab;
- USHORT posrestab;
- USHORT posmoduletab;
- USHORT posimporttab;
- USHORT posnrestab;
- USHORT nmoventry;
- USHORT nldsectsiz;
- USHORT reserv[12];
- };
-
- typedef struct _oshead OSHEAD;
-
- struct _rcentry {
- USHORT datp;
- USHORT len;
- USHORT flags;
- USHORT id;
- USHORT handle;
- USHORT nload;
- };
-
- typedef struct _rcentry RCENTRY;
-
- struct _bmhead { /* that's a short Windows BITMAPINFOHEADER*/
- ULONG size;
- ULONG width;
- ULONG height;
- USHORT planes;
- USHORT bitcount;
- };
-
- typedef struct _bmhead BMHEAD;
-
- struct _iconhead {
- USHORT reserv1; /*0*/
- USHORT rctype; /*1*/
- USHORT count; /*1 images in file*/
- UCHAR wid;
- UCHAR hei;
- UCHAR colors;
- UCHAR reserv2;
- USHORT xhot; /* Hotspot x-position, currently 0*/
- USHORT yhot;
- ULONG DIBsize;
- ULONG DIBoff;
- };
-
- typedef struct _iconhead ICONHEAD;
- typedef struct _iconhead CURSORHEAD; /*quite the same*/
-
- struct _bmfhead { /* that's Windows BITMAPFILEHEADER*/
- USHORT sign;
- ULONG fsize;
- USHORT reserv1;
- USHORT reserv2;
- ULONG offset;
- };
-
- typedef struct _bmfhead BMFHEAD;
-
- /* Menu-flags*/
- #define MF_GRAYED 0x0001
- #define MF_DISABLED 0x0002
- #define MF_CHECKED 0x0008
- #define MF_POPUP 0x0010
- #define MF_MENUBARBREAK 0x0020
- #define MF_MENUBREAK 0x0040
- #define MF_END 0x0080
-
- /*Dialog-defines*/
- #define WS_OVERLAPPED 0x00000000L
- #define WS_POPUP 0x80000000L
- #define WS_CHILD 0x40000000L
- #define WS_MINIMIZE 0x20000000L
- #define WS_VISIBLE 0x10000000L
- #define WS_DISABLED 0x08000000L
- #define WS_CLIPSIBLINGS 0x04000000L
- #define WS_CLIPCHILDREN 0x02000000L
- #define WS_MAXIMIZE 0x01000000L
- #define WS_CAPTION 0x00C00000L /* !!!*/
- #define WS_BORDER 0x00800000L
- #define WS_DLGFRAME 0x00400000L
- #define WS_VSCROLL 0x00200000L
- #define WS_HSCROLL 0x00100000L
- #define WS_SYSMENU 0x00080000L
- #define WS_THICKFRAME 0x00040000L
- #define WS_GROUP 0x00020000L
- #define WS_TABSTOP 0x00010000L
-
- #define WS_MINIMIZEBOX 0x00020000L
- #define WS_MAXIMIZEBOX 0x00010000L
-
- #define WS_EX_DLGMODALFRAME 0x00000001L
- #define WS_EX_NOPARENTNOTIFY 0x00000004L
-
- #define ES_LEFT 0x0000L
- #define ES_CENTER 0x0001L
- #define ES_RIGHT 0x0002L
- #define ES_MULTILINE 0x0004L
- #define ES_UPPERCASE 0x0008L
- #define ES_LOWERCASE 0x0010L
- #define ES_PASSWORD 0x0020L
- #define ES_AUTOVSCROLL 0x0040L
- #define ES_AUTOHSCROLL 0x0080L
- #define ES_NOHIDESEL 0x0100L
- #define ES_OEMCONVERT 0x0400L
-
- #define LBS_NOTIFY 0x0001L
- #define LBS_SORT 0x0002L
- #define LBS_NOREDRAW 0x0004L
- #define LBS_MULTIPLESEL 0x0008L
- #define LBS_OWNERDRAWFIXED 0x0010L
- #define LBS_OWNERDRAWVARIABLE 0x0020L
- #define LBS_HASSTRINGS 0x0040L
- #define LBS_USETABSTOPS 0x0080L
- #define LBS_NOINTEGRALHEIGHT 0x0100L
- #define LBS_MULTICOLUMN 0x0200L
- #define LBS_WANTKEYBOARDINPUT 0x0400L
- #define LBS_EXTENDEDSEL 0x0800L
-
- #define CBS_SIMPLE 0x0001L
- #define CBS_DROPDOWN 0x0002L
- #define CBS_DROPDOWNLIST 0x0003L
- #define CBS_OWNERDRAWFIXED 0x0010L
- #define CBS_OWNERDRAWVARIABLE 0x0020L
- #define CBS_AUTOHSCROLL 0x0040L
- #define CBS_OEMCONVERT 0x0080L
- #define CBS_SORT 0x0100L
- #define CBS_HASSTRINGS 0x0200L
- #define CBS_NOINTEGRALHEIGHT 0x0400L
-
- #define SBS_HORZ 0x0000L
- #define SBS_VERT 0x0001L
- #define SBS_TOPALIGN 0x0002L
- #define SBS_LEFTALIGN 0x0002L
- #define SBS_BOTTOMALIGN 0x0004L
- #define SBS_RIGHTALIGN 0x0004L
- #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
- #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
- #define SBS_SIZEBOX 0x0008L
-
- #define BS_PUSHBUTTON 0x00L
- #define BS_DEFPUSHBUTTON 0x01L
- #define BS_CHECKBOX 0x02L
- #define BS_AUTOCHECKBOX 0x03L
- #define BS_RADIOBUTTON 0x04L
- #define BS_3STATE 0x05L
- #define BS_AUTO3STATE 0x06L
- #define BS_GROUPBOX 0x07L
- #define BS_USERBUTTON 0x08L
- #define BS_AUTORADIOBUTTON 0x09L
- #define BS_PUSHBOX 0x0AL
- #define BS_OWNERDRAW 0x0BL
- #define BS_LEFTTEXT 0x20L
-
- #define SS_LEFT 0x00L
- #define SS_CENTER 0x01L
- #define SS_RIGHT 0x02L
- #define SS_ICON 0x03L
- #define SS_BLACKRECT 0x04L
- #define SS_GRAYRECT 0x05L
- #define SS_WHITERECT 0x06L
- #define SS_BLACKFRAME 0x07L
- #define SS_GRAYFRAME 0x08L
- #define SS_WHITEFRAME 0x09L
- #define SS_USERITEM 0x0AL
- #define SS_SIMPLE 0x0BL
- #define SS_LEFTNOWORDWRAP 0x0CL
- #define SS_NOPREFIX 0x80L
-
- #define DS_ABSALIGN 0x01L
- #define DS_SYSMODAL 0x02L
- #define DS_LOCALEDIT 0x20L
- #define DS_SETFONT 0x40L
- #define DS_MODALFRAME 0x80L
- #define DS_NOIDLEMSG 0x100L
-
- struct _nametab {
- USHORT type;
- USHORT num;
- char name[64];
- } nametab [512];