Files
DR-DOS-OpenDOS/COMMAND/GLOBAL.H
2020-11-04 23:59:28 +01:00

156 lines
5.1 KiB
C

/*
; File : $Workfile$
;
; Description :
;
; Original Author : DIGITAL RESEARCH
;
; Last Edited By : $CALDERA$
;
;-----------------------------------------------------------------------;
; Copyright Work of Caldera, Inc. All Rights Reserved.
;
; THIS WORK IS A COPYRIGHT WORK AND CONTAINS CONFIDENTIAL,
; PROPRIETARY AND TRADE SECRET INFORMATION OF CALDERA, INC.
; ACCESS TO THIS WORK IS RESTRICTED TO (I) CALDERA, INC. EMPLOYEES
; WHO HAVE A NEED TO KNOW TO PERFORM TASKS WITHIN THE SCOPE OF
; THEIR ASSIGNMENTS AND (II) ENTITIES OTHER THAN CALDERA, INC. WHO
; HAVE ACCEPTED THE CALDERA OPENDOS SOURCE LICENSE OR OTHER CALDERA LICENSE
; AGREEMENTS. EXCEPT UNDER THE EXPRESS TERMS OF THE CALDERA LICENSE
; AGREEMENT NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED,
; COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED,
; CONDENSED, EXPANDED, COLLECTED, COMPILED, LINKED, RECAST,
; TRANSFORMED OR ADAPTED WITHOUT THE PRIOR WRITTEN CONSENT OF
; CALDERA, INC. ANY USE OR EXPLOITATION OF THIS WORK WITHOUT
; AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO CRIMINAL AND
; CIVIL LIABILITY.
;-----------------------------------------------------------------------;
;
; *** Current Edit History ***
; *** End of Current Edit History ***
;
; $Log$
;
; ENDLOG
*/
EXTERN BOOLEAN initflg; /* Initial Load Flag */
EXTERN WORD drive; /* Current default Drive */
EXTERN UWORD echoflg; /* Current Echo Status */
EXTERN BOOLEAN crlfflg; /* CR/LF Required before prompt */
/* Batch File Processing Variables */
EXTERN UWORD batchflg; /* Currently processing Batch File */
/* FOR Sub-Command Variables */
EXTERN BOOLEAN for_flag; /* FOR Sub-command Active */
/* I/O Redirection Control */
EXTERN WORD in_flag;
EXTERN WORD out_flag;
EXTERN WORD in_handle;
EXTERN WORD out_handle;
/* Pipe Control Data */
EXTERN BOOLEAN pipe_out; /* Activate Pipe output */
EXTERN BOOLEAN pipe_in; /* Activate Pipe Input */
EXTERN BOOLEAN preserve_pipe;
EXTERN BYTE out_pipe[]; /* Output Pipe Name "x:\filename.ext" */
EXTERN BYTE *old_pipe;
EXTERN BYTE pathchar[]; /* The current path character. This */
/* can be accessed as a byte using */
/* "*pathchar" or as a string using */
/* "pathchar". */
#if defined(PASSWORD)
EXTERN BYTE pwdchar[]; /* The Password delimiter. Which can*/
/* be accessed in the same way as */
/* pathchar. */
#endif
EXTERN BYTE switchar[]; /* Switch Character */
EXTERN BYTE dotdot[];
EXTERN BYTE d_slash_stardotstar[];
EXTERN BOOLEAN back_flag; /* Execute a BackGround Task*/
EXTERN BOOLEAN execed; /* were we execed from DOS? */
EXTERN WORD page_len; /* Screen Length */
EXTERN WORD page_wid; /* Screen Width */
EXTERN BOOLEAN break_flag;
EXTERN BOOLEAN err_flag;
EXTERN UWORD err_ret;
EXTERN WORD ddrive;
EXTERN BYTE FAR *bufaddr; /* External Copy Buffer Address */
EXTERN UWORD bufsize; /* External Copy Buffer Size */
EXTERN INTERNAT country; /* country data structure */
#define JAPAN 81 /* country.code for Japan */
EXTERN BYTE *ftypes[];
EXTERN BOOLEAN c_option;
EXTERN BOOLEAN k_option;
EXTERN BOOLEAN n_option;
EXTERN BOOLEAN allow_pexec;
EXTERN BYTE FAR *gp_far_buff;
EXTERN BYTE FAR *show_file_buf;
EXTERN UWORD FAR *parent_psp;
EXTERN UWORD save_parent;
#define FCONTROL struct fcc
FCONTROL {
BOOLEAN sflg; /* FOR File Search Flag */
DTA search; /* FOR Search structure */
BYTE *files; /* FOR File list */
BYTE *cmd; /* FOR Command Line */
BYTE forvar; /* FOR variable char */
};
#define BCONTROL struct bcc
BCONTROL {
BCONTROL FAR *bcontrol; /* Previous Batch Control Structure */
BOOLEAN eof; /* End of File Flag */
LONG offset; /* Offset in BATCH file */
LONG ret_offset[4]; /* return offset from gosub */
BYTE *batcmd; /* Batch File Input parameters */
UWORD batshift; /* Shift Offset */
BYTE batfile[MAX_PATHLEN]; /* Batch File Name */
UWORD stream; /* Stream for this Batch File */
FCONTROL *fcontrol; /* Pointer to previous FOR command */
BYTE *heap_start; /* Heap pointer before extra bytes */
WORD heap_size; /* are added to shift to segment */
BYTE save_area[1]; /* boundary. - EJH */
};
EXTERN BCONTROL FAR *batch;
EXTERN BCONTROL FAR *batch_save;
EXTERN WORD global_link;
EXTERN WORD global_strat;
EXTERN WORD global_in_hiload;
EXTERN WORD hidden_umb[10];
/*
* File type index's returned by the Concurrent DOS P_PATH function
* and emulated in the findfile function. DOSPLUS does not search
* for the ".CMD" and therefore uses a modified index.
*
*/
#if defined(DOSPLUS) || defined(NETWARE)
#define COM_FILETYPE 0 /* MicroSoft .COM */
#define EXE_FILETYPE 1 /* MicroSoft .EXE */
#define BAT_FILETYPE 2 /* Batch File */
#else
#define CMD_FILETYPE 0 /* Digital Reseach .CMD */
#define COM_FILETYPE 1 /* MicroSoft .COM */
#define EXE_FILETYPE 2 /* MicroSoft .EXE */
#define BAT_FILETYPE 3 /* Batch File */
#endif
#define ERROR_EXIT 0x0200 /* Exit because of a Critical Error */
#define BREAK_EXIT 0x0100 /* Exit because of a Control-Break */