2 /*-----------------------------------------------------------------------*/
6 /*- PURPOSE: Include file for RESTORE.C and other RESTORE source -*/
7 /*- files. Defines structures and DEFINES for the DOS PARSE-*/
8 /*- service routines -*/
10 /*-----------------------------------------------------------------------*/
13 /**********************************************************/
14 /* STRUCTURE TO DEFINE ADDITIONAL COMMAND LINE DELIMITERS */
15 /**********************************************************/
16 struct p_parms /*;AN000;4*/
18 WORD parmsx_ptr; /* POINTER TO PARMS STRUCTURE *//*;AN000;4*/
19 BYTE p_num_extra; /* 1 SAYS THAT A DELIMITER LIST FOLLOWS */ /*;AN000;4*/
20 BYTE p_len_extra_delim; /* NUMBER OF ADDITIONAL DELIMITERS */ /*;AN000;4*/
21 BYTE p_extra_delim[2]; /* ADDITIONAL DELIMITERS */ /*;AN000;4*/
24 /***************************************************/
25 /* STRUCTURE TO DEFINE RESTORE SYNTAX REQUIREMENTS */
26 /***************************************************/
27 struct p_parmsx /*;AN000;4*/
29 BYTE p_minpos; /* THERE ARE 2 REQUIRED POSITIONAL PARMS*/ /*;AN000;4*/
30 BYTE p_maxpos; /* THERE ARE 2 REQUIRED POSITIONAL PARMS*/ /*;AN000;4*/
31 WORD pos1_ptr; /* POINTER TO SOURCE FILESPEC DEF AREA*/ /*;AN000;4*/
32 WORD pos2_ptr; /* POINTER TO TARGET DRIVE DEF AREA*/ /*;AN000;4*/
33 BYTE num_sw; /* THERE ARE 8 SWITCHES (/S, /P, /M, /N, /E:, /L:, /B:, /A:) */ /*;AN000;4*/
34 WORD sw1_ptr; /* POINTER TO SWITCH DEFINITION AREA*/ /*;AN000;4*/
35 WORD sw2_ptr; /* POINTER TO SWITCH DEFINITION AREA*/ /*;AN000;4*/
36 WORD sw3_ptr; /* POINTER TO SWITCH DEFINITION AREA*/ /*;AN000;4*/
37 WORD num_keywords; /* NUMBER OF KEYWORDS IN RESTORE SYNTAX*/ /*;AN000;4*/
40 /****************************************/
41 /* STRUCTURE TO DEFINE POSITIONAL PARMS */
42 /****************************************/
43 struct p_pos_blk /*;AN000;4*/
45 WORD match_flag; /* Controls type matched */ /*;AN000;4*/
46 WORD function_flag; /* Function to be included */ /*;AN000;4*/
47 WORD result_buf; /* Result buffer address */ /*;AN000;4*/
48 WORD value_list; /* Value list address */ /*;AN000;4*/
49 BYTE nid; /* # of keyword/SW synonyms (0) *//*;AN000;4*/
52 /********************************/
53 /* STRUCTURE TO DEFINE SWITCHES */
54 /********************************/
55 struct p_sw_blk /*;AN000;4*/
57 WORD p_match_flag; /* Controls type matched */ /*;AN000;4*/
58 WORD p_function_flag; /* Function should be taken */ /*;AN000;4*/
59 WORD p_result_buf; /* Result buffer address */ /*;AN000;4*/
60 WORD p_value_list; /* Value list address */ /*;AN000;4*/
61 BYTE p_nid; /* # of switches */ /*;AN000;4*/
62 BYTE switch1[3]; /* Save area for switches */ /*;AN000;4*/
63 BYTE switch2[3]; /* Save area for switches */ /*;AN000;4*/
64 BYTE switch3[3]; /* Save area for switches */ /*;AN000;4*/
65 BYTE switch4[3]; /* Save area for switches */ /*;AN000;4*/
68 /*---------------------------------------------------------------------------*/
70 /**************************/
71 /* RETURN BUFFER FOR TIME */
72 /**************************/
73 struct timebuff /*;AN000;4*/
75 BYTE tb_type; /* TYPE RETURNED*/ /*;AN000;4*/
76 BYTE tb_item_tag; /* SPACE FOR ITEM TAG*/ /*;AN000;4*/
77 WORD tb_synonym_ptr; /*;AN000;4*/
78 BYTE hours; /*;AN000;4*/
79 BYTE minutes; /*;AN000;4*/
80 BYTE seconds; /*;AN000;4*/
81 BYTE hundreds; /*;AN000;4*/
84 /**************************/
85 /* RETURN BUFFER FOR DATE */
86 /**************************/
87 struct datebuff /*;AN000;4*/
89 BYTE db_type; /* TYPE RETURNED*/ /*;AN000;4*/
90 BYTE db_item_tag; /* SPACE FOR ITEM TAG*/ /*;AN000;4*/
91 WORD db_synonym_ptr; /*;AN000;4*/
92 WORD year; /*;AN000;4*/
93 BYTE month; /*;AN000;4*/
94 BYTE day; /*;AN000;4*/
98 /*******************************************/
99 /* RETURN BUFFER FOR POSITIONAL PARAMETERS */
100 /*******************************************/
101 struct p_result_blk /*;AN000;4*/
103 BYTE p_type; /* Type returned */ /*;AN000;4*/
104 BYTE p_item_tag; /* Matched item tag */ /*;AN000;4*/
105 WORD p_synonym_ptr; /* pointer to Synonym list returned *//*;AN000;4*/
106 DWORD p_string_ptr; /* Pointer to string */ /*;AN000;4*/
107 }; /* or drive number in 1st byte /*;AN000;4*/
109 /****************************************/
110 /* RETURN BUFFER FOR SWITCH INFORMATION */
111 /****************************************/
112 struct switchbuff /*;AN000;4*/
114 BYTE sw_type; /* TYPE RETURNED*/ /*;AN000;4*/
115 BYTE sw_item_tag; /* Matched item tag */ /*;AN000;4*/
116 WORD sw_synonym_ptr; /* pointer to switch entered */ /*;AN000;4*/
117 DWORD sw_string_ptr; /* Pointer to string */ /*;AN000;4*/