summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/RESTORE/RESTPARS.H
blob: 8b9bf95d594ee80e03d364efe391dddf6a14fe34 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/* 0 */
/*-----------------------------------------------------------------------*/
/*-									-*/
/*-	FILE:	 PARSE.H						-*/
/*-									-*/
/*-	PURPOSE: Include file for RESTORE.C and other RESTORE source	-*/
/*-		 files. Defines structures and DEFINES for the DOS PARSE-*/
/*-		 service routines					-*/
/*-									-*/
/*-----------------------------------------------------------------------*/


/**********************************************************/
/* STRUCTURE TO DEFINE ADDITIONAL COMMAND LINE DELIMITERS */
/**********************************************************/
struct p_parms								/*;AN000;4*/
	{								/*;AN000;4*/
	 WORD	parmsx_ptr;		/* POINTER TO PARMS STRUCTURE *//*;AN000;4*/
	 BYTE	p_num_extra;		/* 1 SAYS THAT A DELIMITER LIST FOLLOWS */  /*;AN000;4*/
	 BYTE	p_len_extra_delim;	/* NUMBER OF ADDITIONAL DELIMITERS */	/*;AN000;4*/
	 BYTE	p_extra_delim[2];	/* ADDITIONAL DELIMITERS */	/*;AN000;4*/
	};								/*;AN000;4*/

/***************************************************/
/* STRUCTURE TO DEFINE RESTORE SYNTAX REQUIREMENTS */
/***************************************************/
struct	p_parmsx								/*;AN000;4*/
	{									/*;AN000;4*/
	 BYTE  p_minpos;       /* THERE ARE 2 REQUIRED POSITIONAL PARMS*/	/*;AN000;4*/
	 BYTE  p_maxpos;       /* THERE ARE 2 REQUIRED POSITIONAL PARMS*/	/*;AN000;4*/
	 WORD  pos1_ptr;       /* POINTER TO SOURCE FILESPEC DEF AREA*/ 	/*;AN000;4*/
	 WORD  pos2_ptr;       /* POINTER TO TARGET DRIVE DEF AREA*/		/*;AN000;4*/
	 BYTE  num_sw;	       /* THERE ARE 8 SWITCHES (/S, /P, /M, /N, /E:, /L:, /B:, /A:)  */ /*;AN000;4*/
	 WORD  sw1_ptr;        /* POINTER TO SWITCH DEFINITION AREA*/		/*;AN000;4*/
	 WORD  sw2_ptr;        /* POINTER TO SWITCH DEFINITION AREA*/		/*;AN000;4*/
	 WORD  sw3_ptr;        /* POINTER TO SWITCH DEFINITION AREA*/		/*;AN000;4*/
	 WORD  num_keywords;   /* NUMBER OF KEYWORDS IN RESTORE SYNTAX*/	/*;AN000;4*/
	};									/*;AN000;4*/

/****************************************/
/* STRUCTURE TO DEFINE POSITIONAL PARMS */
/****************************************/
struct p_pos_blk							/*;AN000;4*/
	{								/*;AN000;4*/
	 WORD	match_flag;		/* Controls type matched */	/*;AN000;4*/
	 WORD	function_flag;		/* Function to be included  */	/*;AN000;4*/
	 WORD	result_buf;		/* Result buffer address */	/*;AN000;4*/
	 WORD	value_list;		/* Value list address */	/*;AN000;4*/
	 BYTE	nid;			/* # of keyword/SW synonyms (0) *//*;AN000;4*/
	};								/*;AN000;4*/

/********************************/
/* STRUCTURE TO DEFINE SWITCHES */
/********************************/
struct p_sw_blk 							/*;AN000;4*/
	{								/*;AN000;4*/
	 WORD	p_match_flag;		/* Controls type matched */	/*;AN000;4*/
	 WORD	p_function_flag;	/* Function should be taken */	/*;AN000;4*/
	 WORD	p_result_buf;		/* Result buffer address */	/*;AN000;4*/
	 WORD	p_value_list;		/* Value list address */	/*;AN000;4*/
	 BYTE	p_nid;			/* # of switches */		/*;AN000;4*/
	 BYTE	switch1[3];		/* Save area for switches */	/*;AN000;4*/
	 BYTE	switch2[3];		/* Save area for switches */	/*;AN000;4*/
	 BYTE	switch3[3];		/* Save area for switches */	/*;AN000;4*/
	 BYTE	switch4[3];		/* Save area for switches */	/*;AN000;4*/
	};								/*;AN000;4*/
/**/
/*---------------------------------------------------------------------------*/

/**************************/
/* RETURN BUFFER FOR TIME */
/**************************/
struct timebuff 							/*;AN000;4*/
	{								/*;AN000;4*/
	 BYTE	tb_type;       /* TYPE RETURNED*/			/*;AN000;4*/
	 BYTE	tb_item_tag;   /* SPACE FOR ITEM TAG*/			/*;AN000;4*/
	 WORD	tb_synonym_ptr; 					/*;AN000;4*/
	 BYTE	hours;							/*;AN000;4*/
	 BYTE	minutes;						/*;AN000;4*/
	 BYTE	seconds;						/*;AN000;4*/
	 BYTE	hundreds;						/*;AN000;4*/
	};								/*;AN000;4*/

/**************************/
/* RETURN BUFFER FOR DATE */
/**************************/
struct datebuff 							/*;AN000;4*/
	{								/*;AN000;4*/
	 BYTE	db_type;       /* TYPE RETURNED*/			/*;AN000;4*/
	 BYTE	db_item_tag;   /* SPACE FOR ITEM TAG*/			/*;AN000;4*/
	 WORD	db_synonym_ptr; 					/*;AN000;4*/
	 WORD	year;							/*;AN000;4*/
	 BYTE	month;							/*;AN000;4*/
	 BYTE	day;							/*;AN000;4*/
	};								/*;AN000;4*/


/*******************************************/
/* RETURN BUFFER FOR POSITIONAL PARAMETERS */
/*******************************************/
struct p_result_blk							/*;AN000;4*/
	{								/*;AN000;4*/
	 BYTE	p_type; 		/* Type returned */		/*;AN000;4*/
	 BYTE	p_item_tag;		/* Matched item tag */		/*;AN000;4*/
	 WORD	p_synonym_ptr;		/* pointer to Synonym list returned *//*;AN000;4*/
	 DWORD	p_string_ptr;		/* Pointer to string */ 	/*;AN000;4*/
	};				/*  or drive number in 1st byte /*;AN000;4*/

/****************************************/
/* RETURN BUFFER FOR SWITCH INFORMATION */
/****************************************/
struct	switchbuff							/*;AN000;4*/
	{								/*;AN000;4*/
	 BYTE	sw_type;	 /* TYPE RETURNED*/			/*;AN000;4*/
	 BYTE	sw_item_tag;	 /* Matched item tag */ 		/*;AN000;4*/
	 WORD	sw_synonym_ptr;  /* pointer to switch entered */	/*;AN000;4*/
	 DWORD	sw_string_ptr;	 /* Pointer to string */		/*;AN000;4*/
	};								/*;AN000;4*/