⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 globals.h

📁 GNU FreeDOS兼容MS DOS很好的东东.
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifdef MAIN    = "FreeDOS kernel build " KERNEL_BUILD_STRING    " [version " SOURCE_DATE_STRING " compiled " __DATE__ "]\n"#if 0    = "FreeDOS kernel version " KERNEL_VERSION_STRING    " (Build " KERNEL_BUILD_STRING ") [" __DATE__ " " __TIME__ "]\n"#endif#if 0    "For technical information and description of the DOS-C operating system\n\consult \"FreeDOS Kernel\" by Pat Villani, published by Miller\n\Freeman Publishing, Lawrence KS, USA (ISBN 0-87930-436-7).\n\\n"#endif#endif ;/* Globally referenced variables - WARNING: ORDER IS DEFINED IN         *//* KERNAL.ASM AND MUST NOT BE CHANGED. DO NOT CHANGE ORDER BECAUSE THEY *//* ARE DOCUMENTED AS UNDOCUMENTED (?) AND HAVE MANY  PROGRAMS AND TSR'S *//* ACCESSING THEM                                                       */extern UWORD ASM NetBios;extern BYTE * ASM net_name;extern BYTE ASM net_set_count;extern BYTE ASM NetDelay, ASM NetRetry;extern UWORD ASM first_mcb,         /* Start of user memory                 */  ASM uppermem_root;                /* Start of umb chain (usually 9fff)    */extern char * ASM inputptr;         /* pointer to unread CON input          */ extern sfttbl FAR * ASM sfthead;    /* System File Table head               */extern struct dhdrFAR * ASM clock,                    /* CLOCK$ device                        */  FAR * ASM syscon;                 /* console device                       */extern WORD ASM maxbksize;          /* Number of Drives in system           */extern struct bufferFAR *ASM firstbuf;                  /* head of buffers linked list          */enum {LOC_CONV=0, LOC_HMA=1};extern unsigned char ASM bufloc;    /* 0=conv, 1=HMA                        */extern void far * ASM deblock_buf;  /* pointer to workspace buffer      */GLOBAL char FAR *firstAvailableBuf;extern struct cds FAR * ASM CDSp;   /* Current Directory Structure          */externstruct cds FAR * ASM current_ldt;extern LONG ASM current_filepos;    /* current file position                */extern sfttbl FAR * ASM FCBp;       /* FCB table pointer                    */extern WORD ASM nprotfcb;           /* number of protected fcbs             */extern UBYTE ASM nblkdev,           /* number of block devices              */  ASM lastdrive,                    /* value of last drive                  */  ASM uppermem_link,                /* UMB Link flag */  ASM PrinterEcho;                  /* Printer Echo Flag                    */extern UWORD ASM LoL_nbuffers;      /* Number of buffers                    */extern struct dhdr  ASM nul_dev;extern UBYTE ASM mem_access_mode;   /* memory allocation scheme             */extern BYTE ASM ErrorMode,          /* Critical error flag                  */  ASM InDOS,                        /* In DOS critical section              */  ASM OpenMode,                     /* File Open Attributes                 */  ASM SAttr,                        /* Attrib Mask for Dir Search           */  ASM dosidle_flag, ASM Server_Call, ASM CritErrLocus, ASM CritErrAction,   ASM CritErrClass, ASM VgaSet,   ASM njoined;                      /* number of joined devices             */extern UWORD ASM Int21AX;extern COUNT ASM CritErrCode;extern BYTE FAR * ASM CritErrDev;extern struct dirent  ASM SearchDir;extern struct {  COUNT nDrive;  BYTE szName[FNAME_SIZE + 1];  BYTE szExt[FEXT_SIZE + 1];} ASM FcbSearchBuffer;extern struct                   /* Path name parsing buffer             */{  BYTE _PriPathName[128];} ASM _PriPathBuffer;#define PriPathName _PriPathBuffer._PriPathNameextern struct                   /* Alternate path name parsing buffer   */{  BYTE _SecPathName[128];} ASM _SecPathBuffer;#define SecPathName _SecPathBuffer._SecPathNameextern UWORD ASM wAttr;extern BYTE ASM default_drive;      /* default drive for dos                */extern dmatch ASM sda_tmp_dm;       /* Temporary directory match buffer     */extern BYTE  ASM internal_data[],              /* sda areas                            */  ASM swap_always[],                /*  "    "                              */  ASM swap_indos[],                 /*  "    "                              */  ASM tsr,                          /* true if program is TSR               */  ASM break_flg,                    /* true if break was detected           */  ASM break_ena;                    /* break enabled flag                   */extern void FAR * ASM dta;          /* Disk transfer area (kludge)          */extern seg ASM cu_psp;              /* current psp segment                  */extern iregs FAR * ASM user_r;      /* User registers for int 21h call      */extern struct dirent            /* Temporary directory entry            */  ASM DirEntBuffer;extern fcb FAR * ASM sda_lpFcb;     /* Pointer to users fcb                 */extern sft FAR * ASM lpCurSft;extern BYTE ASM verify_ena,         /* verify enabled flag                  */  ASM switchar;                     /* switch char                          */extern UWORD ASM return_code;       /* Process termination rets             */extern UBYTE ASM BootDrive,         /* Drive we came up from                */  ASM scr_pos;                      /* screen position for bs, ht, etc      *//*extern WORD  NumFloppies; !!*//* How many floppies we have            */extern keyboard ASM kb_buf;extern char ASM local_buffer[LINEBUFSIZE0A];extern UBYTE DiskTransferBuffer[SEC_SIZE];extern struct cds  ASM TempCDS;/* start of uncontrolled variables                                      */#ifdef DEBUGGLOBAL iregs error_regs;        /* registers for dump                   */GLOBAL WORD dump_regs;          /* dump registers of bad call           */#endifextern struct f_node FAR * ASM f_nodes;  /* pointer to the array        */extern UWORD ASM f_nodes_cnt;   /* number of allocated f_nodes          *//*                                                                      *//* Function prototypes - automatically generated                        *//*                                                                      */#include "proto.h"/* Process related functions - not under automatic generation.  *//* Typically, these are in ".asm" files.                        */VOID ASMCFUNC FAR cpm_entry(VOID)/*INRPT FAR handle_break(VOID) */ ;COUNT ASMCFUNC    CriticalError(COUNT nFlag, COUNT nDrive, COUNT nError,                           struct dhdr FAR * lpDevice);VOID ASMCFUNC FAR CharMapSrvc(VOID);#if 0VOID ASMCFUNC FAR set_stack(VOID);VOID ASMCFUNC FAR restore_stack(VOID);#endif/*VOID INRPT FAR handle_break(VOID); */ULONG ASMPASCAL ReadPCClock(VOID);VOID ASMPASCAL WriteATClock(BYTE *, BYTE, BYTE, BYTE);VOID ASMPASCAL WritePCClock(ULONG);intvec getvec(unsigned char);#ifdef __WATCOMC__#pragma aux (pascal) ReadPCClock modify exact [ax cx dx]#pragma aux (pascal) WriteATClock modify exact [ax bx cx dx]#pragma aux (pascal) WritePCClock modify exact [ax cx dx]#endif/*                                                              *//* special word packing prototypes                              *//*                                                              */#ifdef NATIVE#define getlong(vp) (*(UDWORD *)(vp))#define getword(vp) (*(UWORD *)(vp))#define getbyte(vp) (*(UBYTE *)(vp))#define fgetlong(vp) (*(UDWORD FAR *)(vp))#define fgetword(vp) (*(UWORD FAR *)(vp))#define fgetbyte(vp) (*(UBYTE FAR *)(vp))#define fputlong(vp, l) (*(UDWORD FAR *)(vp)=l)#define fputword(vp, w) (*(UWORD FAR *)(vp)=w)#define fputbyte(vp, b) (*(UBYTE FAR *)(vp)=b)#elseUDWORD getlong(VOID *);UWORD getword(VOID *);UBYTE getbyte(VOID *);UDWORD fgetlong(VOID FAR *);UWORD fgetword(VOID FAR *);UBYTE fgetbyte(VOID FAR *);VOID fputlong(VOID FAR *, UDWORD);VOID fputword(VOID FAR *, UWORD);VOID fputbyte(VOID FAR *, UBYTE);#endif#ifndef __WATCOMC__#define setvec setvec_resident#endifvoid setvec(unsigned char intno, intvec vector);/*#define is_leap_year(y) ((y) & 3 ? 0 : (y) % 100 ? 1 : (y) % 400 ? 0 : 1) *//* ^Break handling */#ifdef __WATCOMC__#pragma aux (cdecl) spawn_int23 aborts;#endifvoid ASMCFUNC spawn_int23(void);        /* procsupt.asm */GLOBAL BYTE ReturnAnyDosVersionExpected;GLOBAL struct f_node fnode[2];GLOBAL int fnode_fd[2];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -