home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / IncPOS.lzx / proto / pDOS2.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-18  |  18.0 KB  |  327 lines

  1. #ifndef __INC_POS_PROTO_PDOS2_H
  2. #define __INC_POS_PROTO_PDOS2_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>pDOS2.h<<   11 Mar 1997    10:34:08 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PDOS_DOSTYPES_H
  12. #include <pDOS/DosTypes.h>
  13. #endif
  14. #ifndef __INC_POS_PDOS_DOSERRORS_H
  15. #include <pDOS/DosErrors.h>
  16. #endif
  17.  
  18.  
  19.  
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif
  23.  
  24. /*------------------- DOS --------------------------------------*/
  25. __ARID__ APTR pOS_AllocDosObject(_R_D0 ULONG type,_R_D1 ULONG);
  26. VOID pOS_FreeDosObject(_R_D0 ULONG type,_R_A0 __ARID__ APTR);
  27. ULONG pOS_AllocDosProcessNum(_R_D0 ULONG num);
  28. VOID pOS_FreeDosProcessNum(_R_D0 ULONG num);
  29. VOID pOS_LockProcessList(VOID);
  30. VOID pOS_UnlockProcessList(VOID);
  31. struct pOS_DosMountDevice* pOS_CreateDosMount(_R_D0 ULONG type);
  32. VOID pOS_DeleteDosMount(_R_A0 struct pOS_DosMountDevice*);
  33. VOID pOS_LockDosDevList(VOID);
  34. VOID pOS_UnlockDosDevList(VOID);
  35. struct pOS_FileLock* pOS_GetBootLock(VOID);
  36. ULONG pOS_DosString(_R_A0 const CHAR*,_R_A1 CHAR* buf,_R_D0 size_t bufSize,_R_D1 ULONG mode,_R_D2 ULONG escChar);
  37. VOID pOS_LockDosProcess(_R_A0 struct pOS_Process*);
  38. VOID pOS_UnlockDosProcess(_R_A0 struct pOS_Process*);
  39.  
  40.  
  41. /*------------------- files --------------------------------------*/
  42. __ARID__ struct pOS_FileHandle* pOS_OpenFile(_R_A0 const struct pOS_FileLock*,
  43.                              _R_A1 const dosname_t*,_R_D0 ULONG);
  44. VOID pOS_CloseFile(_R_A0 __ARID__ struct pOS_FileHandle*);
  45. dossize_t pOS_ReadFile(_R_A0 struct pOS_FileHandle*,_R_A1 APTR,_R_D0 dossize_t);
  46. dossize_t pOS_WriteFile(_R_A0 struct pOS_FileHandle*,_R_A1 const VOID*,_R_D0 dossize_t);
  47. dossize_t pOS_SeekFile(_R_A0 struct pOS_FileHandle*,_R_D0 dospos_t,_R_D1 SLONG mode);
  48. __ARID__ struct pOS_FileHandle* pOS_DupFileHandle(_R_A0 const struct pOS_FileHandle*);
  49. BOOL pOS_IsFileInteractive(_R_A0 struct pOS_FileHandle*);
  50. dossize_t pOS_WaitForChar(_R_A0 struct pOS_FileHandle*,_R_A1 const struct pOS_TimeVal*);
  51. BOOL pOS_SetFileHandleBuf(_R_A0 struct pOS_FileHandle*,_R_A1 UBYTE*,_R_D0 ULONG,_R_D1 dossize_t);
  52. BOOL pOS_FileFlush(_R_A0 struct pOS_FileHandle*);
  53. ULONG pOS_FileGetC(_R_A0 struct pOS_FileHandle*);
  54. UBYTE* pOS_FileGets(_R_A0 struct pOS_FileHandle*,_R_A1 UBYTE*,_R_D0 size_t);
  55. ULONG pOS_FilePutC(_R_A0 struct pOS_FileHandle*,_R_D0 ULONG);
  56. ULONG pOS_FilePuts(_R_A0 struct pOS_FileHandle*,_R_A1 const UBYTE*);
  57. dossize_t pOS_VFWritef(_R_A0 struct pOS_FileHandle*,_R_A1 const CHAR* format,_R_A2 const ULONG* argv);
  58. BOOL pOS_ExamineFH(_R_A0 const struct pOS_FileHandle*,_R_A1 struct pOS_FileInfoBlock*);
  59. ULONG pOS_FileFRead(_R_A0 struct pOS_FileHandle*,_R_A1 APTR,_R_D0 size_t,_R_D1 ULONG);
  60. ULONG pOS_FileFWrite(_R_A0 struct pOS_FileHandle*,_R_A1 const APTR,_R_D0 size_t,_R_D1 ULONG);
  61. ULONG pOS_FileEOF(_R_A0 struct pOS_FileHandle*);
  62. ULONG pOS_FileUnGetC(_R_A0 struct pOS_FileHandle*,_R_D0 ULONG);
  63. BOOL pOS_ChangeDosFileAccess(_R_A0 struct pOS_FileHandle*,_R_D0 ULONG);
  64. BOOL pOS_SetFileDate(_R_A0 struct pOS_FileHandle*,_R_A1 const struct pOS_DateStamp*);
  65. BOOL pOS_SetFileSize(_R_A0 struct pOS_FileHandle*,_R_A1 dossize_t);
  66. __ARID__ struct pOS_FileHandle* pOS_OpenFileFromLock(_R_A0 struct pOS_FileLock*);
  67. BOOL pOS_NameFromFH(_R_A0 const struct pOS_FileHandle*,_R_A1 dosname_t*,_R_D0 size_t);
  68. BOOL pOS_SetDosScreenMode(_R_A0 struct pOS_FileHandle*,_R_A1 ULONG);
  69. VOID pOS_ConstructDosFH(_R_A0 struct pOS_FileHandle*,_R_A1 struct pOS_DosDevice*,_R_D0 ULONG mode);
  70. VOID pOS_DestructDosFH(_R_A0 struct pOS_FileHandle*);
  71. struct pOS_IOStruct* pOS_OpenFHIOStruct(_R_A0 struct pOS_FileHandle*);
  72. VOID pOS_CloseFHIOStruct(_R_A0 struct pOS_IOStruct*);
  73. struct pOS_IOStruct* pOS_OpenIOStruct(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t*,_R_D0 ULONG mode);
  74. VOID pOS_CloseIOStruct(_R_A0 struct pOS_IOStruct*);
  75. BOOL pOS_GetDosInfoDataFH(_R_A0 const struct pOS_FileHandle*,_R_A1 struct pOS_DosInfoData*);
  76.  
  77.  
  78. /*------------------- lock --------------------------------------*/
  79. __ARID__ struct pOS_FileLock* pOS_LockObject(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t*,_R_D0 ULONG mode);
  80. VOID pOS_UnlockObject(_R_A0 __ARID__ struct pOS_FileLock*);
  81. __ARID__ struct pOS_FileLock* pOS_DupObjectLock(_R_A0 const struct pOS_FileLock*);
  82. struct pOS_FileLock* pOS_ParentObjectDir(_R_A0 const struct pOS_FileLock*);
  83. BOOL pOS_NameFromObjectLock(_R_A0 const struct pOS_FileLock*,_R_A1 dosname_t*,_R_D0 size_t);
  84. BOOL pOS_ExamineObject(_R_A0 const struct pOS_FileLock*,_R_A1 struct pOS_FileInfoBlock*);
  85. BOOL pOS_ExNextObject(_R_A0 const struct pOS_FileLock*,_R_A1 struct pOS_FileInfoBlock*);
  86. BOOL pOS_IsFileSystem(_R_A0 const struct pOS_FileLock*);
  87. __ARID__ struct pOS_FileLock* pOS_CreateDirectory(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t*);
  88. BOOL pOS_RenameObject(_R_A0 const struct pOS_FileLock*,_R_A1 struct pOS_FileLock*,_R_A2 const dosname_t*);
  89. BOOL pOS_DeleteObjectLk(_R_A0 __ARID__ struct pOS_FileLock*);
  90. BOOL pOS_IsFileSystemName(_R_A0 const struct pOS_FileLock* currDir,_R_A1 const dosname_t* name);
  91. BOOL pOS_DeleteObjectName(_R_A0 const struct pOS_FileLock* currDir,_R_A1 const dosname_t* name);
  92. BOOL pOS_SetObjectDate(_R_A0 struct pOS_FileLock*,_R_A1 const struct pOS_DateStamp*);
  93. BOOL pOS_SetObjectSize(_R_A0 struct pOS_FileLock*,_R_D0 dossize_t size);
  94. BOOL pOS_GetDosInfoData(_R_A0 const struct pOS_FileLock*,_R_A1 struct pOS_DosInfoData*);
  95. BOOL pOS_SetObjectComment(_R_A0 struct pOS_FileLock*,_R_A1 const CHAR*);
  96. BOOL pOS_SetObjectProtection(_R_A0 struct pOS_FileLock*,_R_D0 ULONG);
  97. BOOL  pOS_SameDosDevice(_R_A0 const struct pOS_FileLock*,_R_A1 const struct pOS_FileLock*);
  98. ULONG pOS_SameDosObject(_R_A0 const struct pOS_FileLock*,_R_A1 const struct pOS_FileLock*);
  99. BOOL pOS_ChangeDosObjectAccess(_R_A0 struct pOS_FileLock*,_R_D0 ULONG);
  100. VOID pOS_ConstructDosLk(_R_A0 struct pOS_FileLock*,_R_A1 struct pOS_DosDevice*,_R_D0 ULONG mode);
  101. VOID pOS_DestructDosLk(_R_A0 struct pOS_FileLock*);
  102. BOOL pOS_RenameObjectName(_R_A0 const struct pOS_FileLock* currDir,_R_A1 const dosname_t* oldname,_R_A2 const dosname_t* newName);
  103. BOOL pOS_SetObjectDateName(_R_A0 struct pOS_FileLock* currDir,_R_A1 const dosname_t* name,_R_A2 const struct pOS_DateStamp* date);
  104. BOOL pOS_SetObjectSizeName(_R_A0 struct pOS_FileLock* currDir,_R_A1 const dosname_t* name,_R_D0 dossize_t size);
  105. BOOL pOS_GetDosInfoDataName(_R_A0 const struct pOS_FileLock* currDir,_R_A1 const dosname_t* name,_R_A2 struct pOS_DosInfoData* data);
  106. BOOL pOS_SetObjectCommentName(_R_A0 struct pOS_FileLock* currDir,_R_A1 const dosname_t* name,_R_A2 const CHAR* string);
  107. BOOL pOS_SetObjectProtectionName(_R_A0 struct pOS_FileLock* currDir,_R_A1 const dosname_t* name,_R_D0 ULONG bits);
  108. BOOL pOS_ExamineObjectName(_R_A0 const struct pOS_FileLock* currDir,_R_A1 const dosname_t* name,_R_A2 struct pOS_FileInfoBlock* fib);
  109. BOOL pOS_CopyObjectName(_R_A0 const struct pOS_FileLock* currDir,_R_A1 const dosname_t* oldName,
  110.                         _R_A2 const dosname_t* newName,_R_D0 ULONG mode);
  111. BOOL pOS_MoveObjectName(_R_A0 const struct pOS_FileLock* currDir,_R_A1 const dosname_t* oldName,
  112.                         _R_A2 const dosname_t* newName,_R_D0 ULONG mode);
  113. __ARID__ struct pOS_FileLock* pOS_CreatePath(_R_A0 const struct pOS_FileLock* currDir,_R_A1 const dosname_t*);
  114. SLONG pOS_IsInfinite(_R_A0 const struct pOS_FileLock* lk1,_R_A1 const dosname_t* name1,
  115.                      _R_A2 const struct pOS_FileLock* lk2,_R_A3 const dosname_t* name2);
  116.  
  117.  
  118.  
  119. /*------------------- path --------------------------------------*/
  120. BOOL pOS_AddPart(_R_A0 dosname_t*,_R_A1 const dosname_t*,_R_D0 size_t);
  121. dosname_t* pOS_PathPart(_R_A0 const dosname_t*);
  122. dosname_t* pOS_FilePart(_R_A0 const dosname_t*);
  123. size_t pOS_SplitName(_R_A0 const dosname_t*,_R_D0 ULONG,
  124.                      _R_A1 dosname_t*,_R_D1 size_t,_R_D2 size_t size);
  125.  
  126.  
  127. /*------------------- process --------------------------------------*/
  128. SLONG pOS_SetIoErr(_R_D0 SLONG);
  129. SLONG pOS_GetIoErr(VOID);
  130. VOID pOS_ExitProcess(_R_D0 ULONG);
  131. struct pOS_FileHandle* pOS_GetStdInput(VOID);
  132. struct pOS_FileHandle* pOS_GetStdOutput(VOID);
  133. struct pOS_FileHandle* pOS_GetStdErrOutput(VOID);
  134. __ARID__ struct pOS_FileHandle* pOS_SetConsoleFH(_R_A0 __ARID__ struct pOS_FileHandle*);
  135. __ARID__ struct pOS_FileLock* pOS_SetProgDir(_R_A0 __ARID__ struct pOS_FileLock*);
  136. VOID pOS_ConstructProcess(_R_A0 struct pOS_Process*);
  137. VOID pOS_DosDelay(_R_D0 ULONG ticks);
  138. struct pOS_Process *pOS_CreateProcessA(_R_A0 const struct pOS_TagItem*);
  139. SLONG pOS_RunCommand(_R_A0 struct pOS_SegmentLst*,_R_D0 size_t stackSize,
  140.                      _R_A1 struct pOS_FileHandle* cin,_R_A2 struct pOS_FileHandle* cout,
  141.                      _R_A3 struct pOS_FileHandle* cerr,_R_A4 const CHAR* line);
  142. struct pOS_FileLock* pOS_GetProgDir(VOID);
  143. VOID pOS_DestructProcess(_R_A0 struct pOS_Process*);
  144. ULONG pOS_SetShellFail(_R_D0 ULONG err);
  145. VOID pOS_DeleteProcess(_R_A0 __ARID__ struct pOS_Process*,_R_A1 struct pOS_Task* sigTask,_R_D0 ULONG signalSet);
  146. struct pOS_FileHandle* pOS_SetStdInput(_R_A0 struct pOS_FileHandle*);
  147. struct pOS_FileHandle* pOS_SetStdOutput(_R_A0 struct pOS_FileHandle*);
  148. struct pOS_FileHandle* pOS_SetStdErrOutput(_R_A0 struct pOS_FileHandle*);
  149.  
  150.  
  151. /*------------------- System --------------------------------------*/
  152. SLONG pOS_SystemA(_R_A0 const CHAR*,_R_A1 const struct pOS_TagItem*);
  153.  
  154.  
  155. /*------------------- segment --------------------------------------*/
  156. BOOL pOS_AddSegment(_R_A0 struct pOS_SegmentLst*);
  157. BOOL pOS_RemSegment(_R_A0 struct pOS_SegmentLst*);
  158. __ARID__ struct pOS_SegmentLst *pOS_OpenSegment(_R_A0 const CHAR*,_R_D0 ULONG mode);
  159. VOID pOS_CloseSegment(_R_A0 __ARID__ struct pOS_SegmentLst*);
  160. __ARID__ struct pOS_SegmentLst *pOS_LoadSegmentA(_R_A0 const dosname_t*,_R_A1 const struct pOS_TagItem*);
  161. VOID pOS_UnloadSegment(_R_A0 __ARID__ struct pOS_SegmentLst*);
  162. BOOL pOS_InternalLoadSegment(_R_A0 struct pOS_ISegmentData*);
  163. BOOL pOS_InternalUnloadSegment(_R_A0 struct pOS_ISegmentData*);
  164. BOOL pOS_GetSegmentPtrInfo(_R_A0 const struct pOS_SegmentLst*,_R_A1 const struct pOS_Segment*,
  165.                            _R_A2 const VOID* ptr,_R_A3 struct pOS_SegmentInfo*);
  166.  
  167.  
  168. /*------------------- DosDevice --------------------------------------*/
  169. struct pOS_Process* pOS_InitDosIOReq(_R_A0 const struct pOS_DosDevice*,_R_A1 struct pOS_DosIOReq*);
  170. VOID pOS_InitDosDevice(_R_A0 struct pOS_DosDevice*);
  171. VOID pOS_AddDosDevice(_R_A0 struct pOS_DosDevice*);
  172. VOID pOS_RemDosDevice(_R_A0 struct pOS_DosDevice*);
  173. BOOL pOS_OpenDosDevice(_R_A0 struct pOS_DosDevPathInfo*);
  174. VOID pOS_CloseDosDevice(_R_A0 struct pOS_DosDevPathInfo*);
  175. VOID pOS_AddDosDefDevice(_R_A0 struct pOS_DosDefDevice*);
  176. VOID pOS_RemDosDefDevice(_R_A0 struct pOS_DosDefDevice*);
  177. struct pOS_DosDevice* pOS_CreateDosAssign(_R_A0 const CHAR* assignName,
  178.                                    _R_A1 __ARID__ struct pOS_FileLock*,_R_A2 const dosname_t*,_R_D0 ULONG);
  179. struct pOS_DosDevice* pOS_CreateDOSTemplate(_R_A0 const CHAR*);
  180. struct pOS_DosDevice* pOS_CreateDOSVolumeA(_R_A0 struct pOS_DosDevice*,
  181.               _R_A1 const CHAR*,_R_A2 const struct pOS_DateStamp*,_R_A3 const struct pOS_TagItem*);
  182. struct pOS_DosDevice* pOS_OpenDOSVolumeA(_R_A0 struct pOS_DosDevice*,
  183.               _R_A1 const CHAR*,_R_A2 const struct pOS_DateStamp*,_R_A3 const struct pOS_TagItem*);
  184. VOID pOS_CloseDOSVolume(_R_A0 struct pOS_DosDevice*);
  185. struct pOS_DosDevice* pOS_GetDosDevice(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t*);
  186. struct pOS_DosDevice* pOS_GetDosHandler(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t*);
  187. dossize_t pOS_AddDosDeviceBuffers(_R_A0 struct pOS_DosDevice*,_R_D0 SLONG);
  188. BOOL pOS_InhibitDosDevice(_R_A0 struct pOS_DosDevice*,_R_D0 ULONG);
  189. BOOL pOS_RelabelDosDevice(_R_A0 struct pOS_DosDevice*,_R_A1 const CHAR*);
  190. struct pOS_DosDevice* pOS_GetDosDeviceName(_R_A0 const CHAR* name,_R_D0 ULONG type);
  191. struct pOS_DosMountDevice* pOS_GetDosMountName(_R_A0 const CHAR* name);
  192. struct pOS_DosDevice* pOS_CreateDosDevFromMount(_R_A0 const struct pOS_DosMountDevice*);
  193. BOOL pOS_DeleteDosAssign(_R_A0 const CHAR*,_R_A1 const struct pOS_FileLock*,_R_D0 ULONG);
  194. BOOL pOS_AddDosAssign(_R_A0 const CHAR*,_R_A1 __ARID__ struct pOS_FileLock*,_R_D0 ULONG);
  195. BOOL pOS_GetNextDosDevice(_R_A0 struct pOS_DosDevPathInfo*);
  196.  
  197.  
  198.  
  199. /*------------------- DosArgs --------------------------------------*/
  200. __ARID__ struct pOS_DosArgs* pOS_CreateDosArgs(VOID);
  201. VOID pOS_DeleteDosArgs(_R_A0 __ARID__ struct pOS_DosArgs*);
  202. const CHAR *pOS_CreateDosTokenString(_R_A0 struct pOS_DosArgs*,_R_A1 const CHAR*);
  203. SLONG pOS_CreateDosTokenList(_R_A0 struct pOS_DosArgs*);
  204. SLONG pOS_InterpretDosTokenList(_R_A0 struct pOS_DosArgs*);
  205. __ARID__ struct pOS_DosArgs* pOS_ReadDosArgsA(_R_A0 const CHAR*,_R_A1 ULONG*,_R_D0 size_t areaNum,_R_A2 const struct pOS_TagItem*);
  206. VOID pOS_PrintDosArgList(_R_A0 struct pOS_DosArgs*);
  207. const struct pOS_DosToken* pOS_DosFindToken(_R_A0 const CHAR*);
  208. BOOL pOS_WriteDosArgsA(_R_A0 const CHAR* temp,_R_A1 ULONG* area,_R_D0 size_t areaNum,
  209.                        _R_A2 const struct pOS_DosArgs*,_R_A3 const struct pOS_TagItem*);
  210.  
  211.  
  212.  
  213. /*------------------- Parsing -----------------------------*/
  214. __ARID__ struct pOS_Parse *pOS_CreateParse(_R_A0 struct pOS_ParseObject** stLow,_R_A1 struct pOS_ParseObject** stUpp);
  215. VOID pOS_DeleteParse(_R_A0 __ARID__ struct pOS_Parse*);
  216. VOID pOS_ConstructParse(_R_A0 struct pOS_Parse*);
  217. VOID pOS_DestructParse(_R_A0 struct pOS_Parse*);
  218. struct pOS_ParseObject *pOS_Parsing(_R_A0 struct pOS_Parse*,_R_D0 ULONG priLevel);
  219.  
  220.  
  221.  
  222. /*------------------- Pattern -----------------------------*/
  223. VOID pOS_ConstructPattern(_R_A0 struct pOS_PatternMatching*);
  224. VOID pOS_DestructPattern(_R_A0 struct pOS_PatternMatching*);
  225. BOOL pOS_ParsePatternA(_R_A0 struct pOS_PatternMatching*,_R_A1 const CHAR*,_R_A2 const struct pOS_TagItem*);
  226. BOOL pOS_MatchPattern(_R_A0 __CONST__ struct pOS_PatternObj* area[],_R_A1 const CHAR*);
  227.  
  228.  
  229. /*------------------- AnchorPath -----------------------------*/
  230. SLONG pOS_PathMatchFirst(_R_A0 const struct pOS_FileLock*,_R_A1 const dosname_t*,
  231.                        _R_A2 struct pOS_AnchorPath* ap,_R_A3 const CHAR*,_R_D0 ULONG);
  232. VOID pOS_PathMatchEnd(_R_A0 struct pOS_AnchorPath*);
  233. SLONG pOS_PathMatchNext(_R_A0 struct pOS_AnchorPath*);
  234.  
  235.  
  236.  
  237. /*------------------- DosSig --------------------------------------*/
  238. ULONG pOS_DosCheckSignal(_R_D0 ULONG signalMask);
  239.  
  240. /*------------------- Date ----------------------------------------*/
  241. struct pOS_DateStamp* pOS_GetDateStamp(_R_A0 struct pOS_DateStamp*);
  242. SWORD pOS_CompareDates(_R_A0 const struct pOS_DateStamp*,_R_A1 const struct pOS_DateStamp*);
  243.  
  244. /*------------------- DateTime -------------------------------------*/
  245. BOOL pOS_DateToStr(_R_A0 struct pOS_DateTime*);
  246. BOOL pOS_StrToDate(_R_A0 struct pOS_DateTime*);
  247.  
  248. /*------------------- Var -------------------------------------*/
  249. ULONG pOS_GetVar(_R_A0 const CHAR*,_R_A1 UBYTE*,_R_D0 size_t,_R_D1 ULONG flags,_R_A2 struct pOS_Process*);
  250. struct pOS_LocalVar* pOS_FindVar(_R_A0 const CHAR*,_R_D0 ULONG flags,_R_A1 struct pOS_Process*);
  251. BOOL pOS_SetVar(_R_A0 const CHAR*,_R_A1 const UBYTE*,_R_D0 size_t,_R_D1 ULONG flags,_R_A2 struct pOS_Process*);
  252. BOOL pOS_DeleteVar(_R_A0 const CHAR*,_R_D0 ULONG flags,_R_A1 struct pOS_Process*);
  253. BOOL pOS_SetVarLoc(_R_A0 struct pOS_LocalVar*,_R_A1 const UBYTE*,_R_D0 size_t);
  254. BOOL pOS_CloneVars(_R_A0 const struct pOS_ExList*,_R_A1 struct pOS_ExList*,
  255.                    _R_A2 struct pOS_MemPool*,_R_D0 ULONG flags);
  256.  
  257.  
  258.  
  259. /*------------------- pWhy --------------------------------------*/
  260. const CHAR* pOS_GetDosErrText(_R_D0 SLONG err);
  261. BOOL pOS_PrintDosErr(_R_A0 struct pOS_FileHandle*,_R_A1 const CHAR* str,_R_D0 ULONG error);
  262.  
  263.  
  264. /*------------------- CD --------------------------------------*/
  265. __ARID__ struct pOS_FileLock* pOS_SetCurrentDirLock(_R_A0 __ARID__ struct pOS_FileLock* lk);
  266. BOOL pOS_SetCurrentDirName(_R_A0 const dosname_t* name);
  267. BOOL pOS_GetCurrentDirName(_R_A0 dosname_t*,_R_D0 size_t);
  268.  
  269.  
  270.  
  271. /*------------------- Notify --------------------------------------*/
  272. VOID pOS_ConstructDosMsgNotify(_R_A0 struct pOS_DosNotifyReq*,
  273.                                _R_A1 const dosname_t*,_R_D0 ULONG,_R_A2 struct pOS_MsgPort*);
  274. VOID pOS_ConstructDosSigNotify(_R_A0 struct pOS_DosNotifyReq*,
  275.                                _R_A1 const dosname_t*,_R_D0 ULONG,_R_A2 struct pOS_Task*,_R_D1 ULONG);
  276. VOID pOS_DestructDosNotify(_R_A0 struct pOS_DosNotifyReq*);
  277. BOOL pOS_DosStartNotify(_R_A0 struct pOS_DosNotifyReq*);
  278. VOID pOS_DosEndNotify(_R_A0 struct pOS_DosNotifyReq*);
  279.  
  280.  
  281. /*------------------- Report --------------------------------------*/
  282. BOOL pOS_DosErrorReportA(_R_D0 ULONG errCode,_R_A0 const struct pOS_TagItem*);
  283.  
  284.  
  285.  
  286. /*------------------- Mount --------------------------------------*/
  287. UWORD pOS_MountDosDevice(_R_A0 const CHAR* devName,
  288.                          _R_A1 const dosname_t* fileName,_R_A2 const CHAR* args);
  289.  
  290.  
  291.  
  292. /*------------------- Shell --------------------------------------*/
  293. VOID pOS_ConstructShell(_R_A0 struct pOS_Shell*);
  294. VOID pOS_DestructShell(_R_A0 struct pOS_Shell*);
  295. VOID pOS_ConstructShellScript(_R_A0 struct pOS_ShellScript*);
  296. VOID pOS_DestructShellScript(_R_A0 struct pOS_Shell*,_R_A1 struct pOS_ShellScript*);
  297. BOOL pOS_SetPrompt(_R_A0 const CHAR*);
  298. BOOL pOS_GetPrompt(_R_A0 CHAR*,_R_D0 size_t);
  299. CHAR* pOS_DosGetAliasComm(_R_A0 const CHAR*,_R_A1 CHAR* buf,_R_D0 size_t bufSize);
  300. CHAR* pOS_DosGetResString1(_R_A0 const CHAR*,_R_A1 CHAR* buf,_R_D0 size_t bufSize,_R_A2 struct pOS_Shell*);
  301. BOOL pOS_CloneProcessPath(_R_A0 const struct pOS_Process* src,_R_A1 struct pOS_Process* dst);
  302. BOOL pOS_SetProgramName(_R_A0 const CHAR* name);
  303. BOOL pOS_GetProgramName(_R_A0 CHAR*,_R_D0 size_t bufSize);
  304. __ARID__ const struct pOS_ExList* pOS_LockShellPathList(VOID);
  305. VOID pOS_UnlockShellPathList(_R_A0 __ARID__ const struct pOS_ExList* pathList);
  306.  
  307.  
  308.  
  309.  
  310.  
  311. struct pOS_Process *pOS_CreateProcess(ULONG tag,...);
  312. SLONG pOS_System(_R_A0 const CHAR*,ULONG tag,...);
  313. __ARID__ struct pOS_SegmentLst *pOS_LoadSegment(_R_A0 const dosname_t*,ULONG tag,...);
  314. __ARID__ struct pOS_DosArgs* pOS_ReadDosArgs(_R_A0 const CHAR*,_R_A1 ULONG*,_R_D0 size_t areaNum,ULONG tag,...);
  315. BOOL pOS_ParsePattern(_R_A0 struct pOS_PatternMatching*,_R_A1 const CHAR*,ULONG tag,...);
  316. BOOL pOS_DosErrorReport(_R_D0 ULONG errCode,ULONG tag,...);
  317. BOOL pOS_WriteDosArgs(_R_A0 const CHAR* temp,_R_A1 ULONG* area,_R_D0 size_t areaNum,
  318.                        _R_A2 const struct pOS_DosArgs*,ULONG tag,...);
  319.  
  320.  
  321.  
  322. #ifdef __cplusplus
  323. }
  324. #endif
  325.  
  326. #endif
  327.