Anhang C - Strukturen und Laufzeitvariablen
struct bioshd_t { int hdnum; /* Nummer der Platte (0-x) */ int head; /* Nummer des Kopfes */ int cyl; /* Zylinder */ int sector; /* Sektor */ int count; /* Anzahl Sektoren */ void *buf; /* Zeiger auf Sektorpuffer im DOS-Speicher */ };Verwendung in :
struct diskfree_t { unsigned short total_clusters; /* Anzahl Cluster gesamt */ unsigned short avail_clusters; /* freie Cluster */ unsigned short sectors_per_cluster; /* Sektoren pro Cluster */ unsigned short bytes_per_sector; /* Bytes pro Sektor */ };Verwendung in :
struct dosdate_t { unsigned char day; /* Tag (1-31) */ unsigned char month; /* Monat (1-12) */ unsigned year; /* Jahr 0=1980, 1=1981, ... */ unsigned char dayofweek; /* Wochentag (1-7) */ };Verwendung in :
struct dostime_t { unsigned char hour; /* Stunde (0-23) */ unsigned char minute; /* Minute (0-59) */ unsigned char second; /* Sekunde (0-59) */ unsigned char hsecond; /* Hundertstel-Sekunde */ };Verwendung in :
struct find_t { char reserved[21]; /* reserviert für DOS */ char attrib; /* Attribute der gefundenen Datei */ unsigned short time; /* Zeit der Datei */ unsigned short date; /* Datum der Datei */ long size; /* Grösse der Datei in Bytes */ char name[13]; /* Name der Datei */ };Verwendung in :
union REGS { struct WORDREGS x; /* 16Bit-Register */ struct BYTEREGS h; /* 8Bit-Register */ };Verwendung in :
struct WORDREGS { unsigned short ax; /* AX */ unsigned short bx; /* BX */ unsigned short cx; /* CX */ unsigned short dx; /* DX */ unsigned short si; /* SI */ unsigned short di; /* DI */ unsigned short cflag; /* Carry-Flag */ unsigned short flags; /* Flag-Register */ };
struct BYTEREGS { unsigned char al, ah; /* AL, AH */ unsigned char bl, bh; /* BL, BH */ unsigned char cl, ch; /* CL, CH */ unsigned char dl, dh; /* DL, DH */ };
struct SEGREGS { unsigned short es; /* ES */ unsigned short cs; /* CS */ unsigned short ss; /* SS */ unsigned short ds; /* DS */ };Verwendung in :
struct dpmimem_t { void *address; /* Zeiger auf Speicherblock */ unsigned handle; /* Handle des Speicherblocks */ };Verwendung in :
struct dpmimeminfo_t { unsigned _largestblockfree; unsigned _maxunlockedpages; unsigned _maxlockedpages; unsigned _linearaddresssize; unsigned _unlockedpages; unsigned _freepages; unsigned _physicalpages; unsigned _freelinearaddressspace; unsigned _pagefilesize; char _reserved[12]; };Verwendung in :
struct dpmiproc_t { int _pmcs; /* Code-Segment einer ProtectedMode-Prozedur */ unsigned _pmeip; /* Offset einer ProtectedMode-Prozedur */ int _rmcs; /* Code-Segment einer RealMode-Prozedur */ int _rmip; /* Offset einer RealMode-Prozedur */ };Verwendung in :
struct dpmiver_t { unsigned char _major, _minor; /* Haupt- und Unterversion des Hosts */ unsigned short _flags; /* Eigenschaften des Hosts */ unsigned char _cpu; /* Prozessor-Typ */ unsigned char _picmaster, _picslave; /* PIC-Werte für Master und Slave */ };Verwendung in :
typedef union { struct DREGS e; /* 32Bit-Register */ struct WREGS x; /* 16Bit-Register */ struct BREGS h; /* 8Bit-Register */ } REGS32;Verwendung in :
struct DREGS { DWORD _edi; /* EDI */ DWORD _esi; /* ESI */ DWORD _ebp; /* EBP */ DWORD dum15; /* --- */ DWORD _ebx; /* EBX */ DWORD _edx; /* EDX */ DWORD _ecx; /* ECX */ DWORD _eax; /* EAX */ WORD dum16; /* Flag-Register */ WORD dum17; /* ES */ WORD dum18; /* DS */ WORD dum19; /* FS */ WORD dum20; /* GS */ DWORD _csip; /* CS:IP */ DWORD _sssp; /* SS:SP */ };
struct WREGS { WORD _di,dum1; /* DI */ WORD _si,dum2; /* SI */ WORD _bp,dum3; /* BP */ WORD dum21,dum22; /* --- */ WORD _bx,dum4; /* BX */ WORD _dx,dum5; /* DX */ WORD _cx,dum6; /* CX */ WORD _ax,dum7; /* AX */ WORD _flags; /* Flag-Register */ WORD _es; /* ES */ WORD _ds; /* DS */ WORD _fs; /* FS */ WORD _gs; /* GS */ WORD _ip; /* IP */ WORD _cs; /* CS */ WORD _sp; /* SP */ WORD _ss; /* SS */ };
struct BREGS { BYTE dum8[16]; /* EDI,ESI,EBP,--- */ BYTE _bl,_bh,dum12[2]; /* BL, BH */ BYTE _dl,_dh,dum11[2]; /* DL, DH */ BYTE _cl,_ch,dum13[2]; /* CL, CH */ BYTE _al,_ah,dum14[2]; /* AL, AH */ };
struct sysvars_t { int _cpu; /* Prozessortyp : (3/4/5) */ int _fpu; /* Coprozessor vorhanden (1) oder nicht (0) */ int _dos; /* MS-DOS-Version */ int _dpmi; /* DPMI-Version */ void *_ebase; /* Basisadresse Environment */ void *_pbase; /* Basisadresse PSP */ };Verwendung in :
struct execerr_t { int code; /* negativer Fehlercode */ char module[16]; /* Modul, bei dem Fehler auftrat */ /* erweiterte Info bei code -6 : */ int symtype; /* Symboltyp, 0:Name 1:Ordinal */ union { char symbol[256]; /* Symbolname falls symtype 0 */ int ordinal; /* Ordinal falls symtype 1 */ } sym; char dllmodule[16]; /* Importmodul ohne Symbol */ };Verwendung in :
typedef struct { int quot; /* Quotient (Divisionsergebnis) */ int rem; /* Divisionsrest */ } div_t;Verwendung in :
typedef struct { long int quot; /* Quotient */ long int rem; /* Divisionsrest */ } ldiv_t;Verwendung in :
struct tm { int tm_sec; /* Sekunden (0-59) */ int tm_min; /* Minuten (0-59) */ int tm_hour; /* Stunden (0-23) */ int tm_mday; /* Tag des Monats (1-31) */ int tm_mon; /* Monat (0-11) */ int tm_year; /* Jahr ab 1900 */ int tm_wday; /* Wochentag (0=Sonntag, 1=Montag ... 6=Samstag) */ int tm_yday; /* Tag des Jahres (0-365) */ int tm_isdst; /* Flag für Sommerzeitkonvertierung */ };Verwendung in :