added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / compiler / include / dos / rdargs.h
blob761f9ff35a0ea97ad5c62464df5d64b31618b400
1 #ifndef DOS_RDARGS_H
2 #define DOS_RDARGS_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Definitions for the dos function ReadArgs().
9 Lang: english
12 #ifndef EXEC_NODES_H
13 # include <exec/nodes.h>
14 #endif
15 #ifndef EXEC_TYPES_H
16 # include <exec/types.h>
17 #endif
19 /**********************************************************************
20 ******************************* CSource ******************************
21 **********************************************************************/
23 /* This structure emulates an input stream by using a buffer. */
24 struct CSource
26 /* The buffer, which contains the stream. In most cases this may be NULL,
27 in which case the current input stream is used. */
28 UBYTE * CS_Buffer;
29 LONG CS_Length; /* The length of the buffer. */
30 LONG CS_CurChr; /* The current position in the buffer. */
33 /**********************************************************************
34 ***************************** ReadArgs() *****************************
35 **********************************************************************/
37 /* The main structure used for ReadArgs(). It contains everything needed for
38 ReadArgs() handling. Allocate this structure with AllocDosObject(). */
39 struct RDArgs
41 /* Embedded CSource structure (see above). If CS_Buffer of this structure
42 is != NULL, use this structure as source for parsing, otherwise use
43 Input() as source. */
44 struct CSource RDA_Source;
46 LONG RDA_DAList; /* PRIVATE. Must be initialized to 0. */
48 /* The next two fields allow an application to supply a buffer to be parsed
49 to ReadArgs(). If either of these fields is 0, ReadArgs() allocates this
50 buffer itself. */
51 UBYTE * RDA_Buffer; /* Pointer to buffer. May be NULL. */
52 LONG RDA_BufSiz; /* Size of the supplied buffer. May be 0. */
54 /* Additional help, if user requests it, by supplying '?' as argument. */
55 UBYTE * RDA_ExtHelp;
56 LONG RDA_Flags; /* see below */
59 /* RDA_Flags */
60 #define RDAB_STDIN 0 /* Use Input() instead of the supplied command line. */
61 #define RDAB_NOALLOC 1 /* Do not allocate more space. */
62 #define RDAB_NOPROMPT 2 /* Do not prompt for input. */
64 #define RDAF_STDIN (1L<<RDAB_STDIN)
65 #define RDAF_NOALLOC (1L<<RDAB_NOALLOC)
66 #define RDAF_NOPROMPT (1L<<RDAB_NOPROMPT)
68 /**********************************************************************
69 **************************** Miscellaneous ***************************
70 **********************************************************************/
72 /* Maximum number of items in a template. This may change in future versions.
74 #define MAX_TEMPLATE_ITEMS 100
76 /* The maximum number of arguments in an item, which allows to specify multiple
77 arguments (flag '/M'). This may change in future versions.*/
78 #define MAX_MULTIARGS 128
80 #endif /* DOS_RDARGS_H */