#ifndef DOS_DOSTAGS_H #define DOS_DOSTAGS_H /* Copyright © 1995-2001, The AROS Development Team. All rights reserved. $Id$ Desc: Tags for DOS routines Lang: english */ #ifndef UTILITY_TAGITEM_H # include #endif /********************************************************************** ****************************** Processes ***************************** **********************************************************************/ /* Tags for CreateNewProc(). All tags, where no default is stated, the default is inherited from the parent process. Additionally you may use tags for AllocDosObject(DOS_CLI, ...). */ #define NP_Dummy (TAG_USER + 1000) /* Exactly one of NP_Seglist or NP_Entry must be specified. */ /* (BPTR) Seglist of code for process. */ #define NP_Seglist (NP_Dummy + 1) /* (BOOL) Free seglist on exit? (Default: TRUE) */ #define NP_FreeSeglist (NP_Dummy + 2) /* (APTR) Entry point for process code. */ #define NP_Entry (NP_Dummy + 3) /* (BPTR/struct FileHandle *) Input filehandle. (Default: NIL:) */ #define NP_Input (NP_Dummy + 4) /* (BPTR/struct FileHandle *) Output filehandle. (Default: NIL:) */ #define NP_Output (NP_Dummy + 5) /* (BOOL) Close input filehandle on exit? (Default: TRUE) */ #define NP_CloseInput (NP_Dummy + 6) /* (BOOL) Close output filehandle in exit? (Default: TRUE) */ #define NP_CloseOutput (NP_Dummy + 7) /* (BPTR/struct FileHandle *) Error filehandle. (Default: NIL:) */ #define NP_Error (NP_Dummy + 8) /* (BOOL) Close error filehandle on exit? (Default: TRUE) */ #define NP_CloseError (NP_Dummy + 9) /* (BPTR/struct FileLock *) Current directory for new task. */ #define NP_CurrentDir (NP_Dummy + 10) /* (ULONG) Stacksize to use for the new process. Default is variable. */ #define NP_StackSize (NP_Dummy + 11) /* (STRPTR) Name for the new process. (Default: "New Process") */ #define NP_Name (NP_Dummy + 12) /* (LONG) Priority of the new process. */ #define NP_Priority (NP_Dummy + 13) /* (APTR) Pointer to the console task. */ #define NP_ConsoleTask (NP_Dummy + 14) /* (struct Window *) The processes default window. */ #define NP_WindowPtr (NP_Dummy + 15) /* (BPTR/struct FileLock *) The home directory of the new process. This defaults to the parents current directory. */ #define NP_HomeDir (NP_Dummy + 16) /* (BOOL) Copy local environment variables? (Default: TRUE) */ #define NP_CopyVars (NP_Dummy + 17) /* (BOOL) Create a CLI structure? (Default: FALSE) */ #define NP_Cli (NP_Dummy + 18) /* The following two tags are only valid for CLI processes. */ /* (APTR) Path for the new process. */ #define NP_Path (NP_Dummy + 19) /* (STRPTR) Name of the called program. */ #define NP_CommandName (NP_Dummy + 20) /* If this tag is used, NP_Input must not be NULL. */ #define NP_Arguments (NP_Dummy + 21) /* The following two tags do not work, yet. */ /* (BOOL) Notify parent, when process exits? (Default: FALSE) */ #define NP_NotifyOnDeath (NP_Dummy + 22) /* (BOOL) Wait until called process returns. (Default: FALSE) */ #define NP_Synchronous (NP_Dummy + 23) /* (APTR) Code that is to be called, when process exits. (Default: NULL) */ #define NP_ExitCode (NP_Dummy + 24) /* (APTR) Optional data for NP_ExitCode. (Default: NULL) */ #define NP_ExitData (NP_Dummy + 25) /* The following tags are AROS specific. */ /* (IPTR) User dependant data. Do with it, what you want to. (Default: NULL) */ #define NP_UserData (NP_Dummy + 26) /* Tags for SystemTagList(). Additionally you may use all the tags for CreateNewProc(). */ #define SYS_Dummy (TAG_USER + 32) /* The supplied filehandles are automatically closed, when the new process exits, if SYS_Asynch is TRUE. If it is false, they remain opened. */ /* (BPTR/struct FileHandle *) Input filehandle. This must be a different filehandle from that supplied to SYS_Output. Default is Input() of the current process. */ #define SYS_Input (SYS_Dummy + 1) /* (BPTR/struct FileHandle *) Output filehandle. This must be a different filehandle from than supllied to SYS_Input. Default is Output() of the current process. */ #define SYS_Output (SYS_Dummy + 2) /* (BOOL) If FALSE, the execution of calling process is stopped, until the new process has finished. */ #define SYS_Asynch (SYS_Dummy + 3) /* If neither of the following two tags is specified, the boot-shell is used. if SYS_UserShell is set to TRUE then the default user-shell will be used, while CustomShell expects a string, which names a new shell. */ #define SYS_UserShell (SYS_Dummy + 4) /* (BPTR) */ #define SYS_CustomShell (SYS_Dummy + 5) /* (STRPTR) */ /* Aros specific */ /* (BPTR/struct FileHandle *) Output filehandle. This must be a different filehandle from than supllied to SYS_Input. Default is Error() of the current process. */ #define SYS_Error (SYS_Dummy + 10) /* (BPTR/struct FileHandle *) This is the FileHandle from which the shell will try to read commands to execute right after having executed the command supplied to SystemTagList() If not specified it defaults to NIL: */ #define SYS_ScriptInput (SYS_Dummy + 11) /* (BOOL) The shell is run as a "background shell", like when the Run command is used. If the shell is in background mode, when the EOF is reached on SYS_ScriptInput the shell will immediately exit, without trying to read from SYS_Input. By default it's set to TRUE. */ #define SYS_Background (SYS_Dummy + 12) /* (LONG *) ti_Data points to a memory location in which SystemTagList will store the Cli number of the newly created cli process */ #define SYS_CliNumPtr (SYS_Dummy + 13) /* This is a *TAG VALUE*, not a tag. Use this together with SYS_Input, SYS_Output and SYS_Error, to tell SystemTagList to *duplicate* the respective caller's streams. Ie.: a TagItem like this { SYS_Input, SYS_DupStream } tells SystemTagList to duplicate the caller's Input() filehandle and use it as input file handle of the shell. The duplicated file handle is automatically closed. */ #define SYS_DupStream 1 /********************************************************************** **************************** Miscellaneous *************************** **********************************************************************/ /* Tags for AllocDosObject(). */ #define ADO_Dummy (TAG_USER + 2000) /* Tags for DOS_FILEHANDLE only. */ /* Sets up the filehandle for the specified mode. Definitions are in */ #define ADO_FH_Mode (ADO_Dummy + 1) /* Sets up FH to the specified mode. */ /* Tags for DOS_CLI. If you do not specify these, dos will use reasonable default values. All these tags specify the buffer length for certain strings. */ /* Length of current directory buffer. */ #define ADO_DirLen (ADO_Dummy + 2) /* Length of command name buffer. */ #define ADO_CommNameLen (ADO_Dummy + 3) /* Length of command file buffer. */ #define ADO_CommFileLen (ADO_Dummy + 4) /* Length of buffer for CLI prompt. */ #define ADO_PromptLen (ADO_Dummy + 5) #endif /* DOS_DOSTAGS_H */