PROTO.H
上传用户:dcs7469208
上传日期:2010-01-02
资源大小:443k
文件大小:6k
源码类别:

操作系统开发

开发平台:

DOS

  1. /****************************************************************/
  2. /* */
  3. /*     proto.h */
  4. /* */
  5. /*      Global function prototypes */
  6. /* */
  7. /*   August 9, 1991 */
  8. /* */
  9. /* Copyright (c) 1995 */
  10. /* Pasquale J. Villani */
  11. /* All Rights Reserved */
  12. /* */
  13. /* This file is part of DOS-C. */
  14. /* */
  15. /* DOS-C is free software; you can redistribute it and/or */
  16. /* modify it under the terms of the GNU General Public License */
  17. /* as published by the Free Software Foundation; either version */
  18. /* 2, or (at your option) any later version. */
  19. /* */
  20. /* DOS-C is distributed in the hope that it will be useful, but */
  21. /* WITHOUT ANY WARRANTY; without even the implied warranty of */
  22. /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See */
  23. /* the GNU General Public License for more details. */
  24. /* */
  25. /* You should have received a copy of the GNU General Public */
  26. /* License along with DOS-C; see the file COPYING.  If not, */
  27. /* write to the Free Software Foundation, 675 Mass Ave, */
  28. /* Cambridge, MA 02139, USA. */
  29. /****************************************************************/
  30. /* $Logfile:   C:/dos-c/src/command/proto.h_v  $ */
  31. /* $Log:   C:/dos-c/src/command/proto.h_v  $ 
  32.    
  33.       Rev 1.3   31 Jan 1998  8:12:30   patv
  34.    Put preprocessor switch for version strings and changed log strings
  35.    
  36.       Rev 1.2   29 Aug 1996 13:07:06   patv
  37.    Bug fixes for v0.91b
  38.    
  39.       Rev 1.1   01 Sep 1995 18:04:46   patv
  40.    First GPL release.
  41.    
  42.       Rev 1.0   02 Jul 1995 10:02:32   patv
  43.    Initial revision.
  44.  */
  45. /* $EndLog$ */
  46. #ifdef MAIN
  47. # ifdef VERSION_STRINGS
  48. static BYTE *Proto_hRcsId = "$Header:   C:/dos-c/src/command/proto.h_v   1.3   31 Jan 1998  8:12:30   patv  $";
  49. # endif
  50. #endif
  51. /* home.c */
  52. VOID FindHome(VOID);
  53. BOOL GoHome(VOID);
  54. /* scan.c */
  55. VOID scopy(BYTE *, BYTE *);
  56. VOID expand(BYTE *, BYTE *);
  57. VOID expandspl(BYTE *, BYTE *, COUNT, BYTE *);
  58. BYTE *scan(BYTE *, BYTE *);
  59. BYTE *scanspl(BYTE *, BYTE *, COUNT);
  60. BYTE *skipwh(BYTE *);
  61. BYTE *scan_seperator(BYTE *, BYTE *);
  62. /* cmd.c */
  63. VOID do_command(COUNT);
  64. /* cmd_err.c */
  65. VOID error_message(enum error_mess);
  66. /* dos_lib.c */
  67. COUNT DosOpen(BYTE FAR *, COUNT);
  68. COUNT DosCreat(BYTE FAR *, COUNT);
  69. COUNT DosClose(COUNT);
  70. COUNT DosRead(COUNT, BYTE FAR *, COUNT);
  71. COUNT DosWrite(COUNT, BYTE FAR *, COUNT);
  72. LONG DosSeek(COUNT, COUNT, LONG);
  73. COUNT DosPwd(COUNT, BYTE FAR *);
  74. COUNT DosSetDrive(COUNT);
  75. COUNT DosGetDrive(VOID);
  76. COUNT DosCd(BYTE FAR *);
  77. VOID DosSetDta(BYTE FAR *);
  78. COUNT DosFindFirst(COUNT, BYTE FAR *);
  79. COUNT DosFindNext(VOID);
  80. COUNT DosFree(COUNT, COUNT FAR *, COUNT FAR *, COUNT FAR *, COUNT FAR *);
  81. VOID DosExit(COUNT);
  82. COUNT DosGetftime(COUNT, date *, time *);
  83. COUNT DosSetftime(COUNT, date *, time *);
  84. COUNT DosDelete(BYTE FAR *);
  85. COUNT DosRename(BYTE FAR *, BYTE FAR *);
  86. COUNT DosMkdir(BYTE FAR *);
  87. COUNT DosRmdir(BYTE FAR *);
  88. COUNT DosExec(BYTE FAR *, exec_blk FAR *);
  89. VOID DosGetTime(COUNT *, COUNT *, COUNT *, COUNT *);
  90. COUNT DosSetTime(COUNT *, COUNT *, COUNT *, COUNT *);
  91. VOID DosSetVerify(BOOL);
  92. BOOL DosGetVerify(VOID);
  93. BOOL DosGetBreak(VOID);
  94. VOID DosSetBreak(BOOL);
  95. VOID DosGetDate(COUNT *, COUNT *, COUNT *, COUNT *);
  96. COUNT DosSetDate(COUNT *, COUNT *, COUNT *);
  97. UWORD DosRtnValue(VOID);
  98. BOOL DosMemAlloc(COUNT, BOOL FAR *);
  99. BOOL DosMemFree(UWORD, BOOL FAR *);
  100. VOID DosParseFilename(BYTE FAR *, fcb FAR *, BITS);
  101. /* ../fs/prf.c */
  102. COUNT printf(CONST BYTE *, ...);
  103. COUNT sprintf(BYTE *, CONST BYTE *, ...);
  104. VOID put_console(COUNT);
  105. VOID scopy(BYTE *, BYTE *);
  106. BYTE *skipwh(BYTE *);
  107. COUNT strcmp(BYTE *, BYTE *);
  108. BOOL dir(COUNT, BYTE *[]);
  109. /* ../misc/strings.c */
  110. COUNT strlen(BYTE *);
  111. COUNT fstrlen(BYTE FAR *);
  112. VOID strcpy(BYTE *, BYTE *);
  113. VOID strncpy(REG BYTE *d, REG BYTE *s, COUNT l);
  114. VOID fstrncpy(BYTE FAR *d, BYTE FAR *s, COUNT l);
  115. VOID strcat(BYTE *, BYTE *);
  116. COUNT strcmp(BYTE *, BYTE *);
  117. COUNT strncmp(BYTE *, BYTE *, COUNT);
  118. COUNT fstrncmp(BYTE FAR *, BYTE FAR *, COUNT);
  119. /* ../misc/num.c */
  120. COUNT tolower(COUNT);
  121. COUNT toupper(COUNT);
  122. COUNT atoi(BYTE *);
  123. /* ../misc/dosopt.c */
  124. BOOL iswild(BYTE *);
  125. BOOL iseol(BYTE);
  126. COUNT dosopt(BYTE *, BYTE FAR *, ...);
  127. VOID expand(BYTE *, BYTE *);
  128. /* env.c */
  129. COUNT EnvSizeUp(VOID);
  130. BYTE *EnvLookup(BYTE *);
  131. BOOL EnvSetVar(BYTE *, BYTE *);
  132. BOOL EnvDump(VOID);
  133. BOOL EnvClearVar(BYTE *);
  134. BOOL EnvAlloc(COUNT);
  135. BOOL EnvFree(BYTE FAR *);
  136. /* doslib.c */
  137. COUNT DosOpen(BYTE FAR *FileName, COUNT FileAccess);
  138. COUNT DosCreat(BYTE FAR *FileName, COUNT Attributes);
  139. COUNT DosClose(COUNT Handle);
  140. COUNT DosRead (COUNT fd, BYTE FAR *buffer, COUNT count);
  141. COUNT DosWrite (COUNT fd, BYTE FAR *buffer, COUNT count);
  142. LONG DosSeek(COUNT Handle, COUNT MoveMethod, LONG FOffset);
  143. COUNT DosPwd(COUNT Drive, BYTE FAR *CurDir);
  144. COUNT DosSetDrive(COUNT DriveNumber);
  145. COUNT DosGetDrive(VOID);
  146. COUNT DosCd(BYTE FAR *Dir);
  147. VOID DosSetDta(BYTE FAR *DTA);
  148. COUNT DosFindFirst(COUNT Attributes, BYTE FAR *FileName);
  149. COUNT DosFindNext(VOID);
  150. COUNT DosFree(COUNT Drive, COUNT FAR *Spc, COUNT FAR *Ac, COUNT FAR *Bpc,COUNT  FAR *Tc);
  151. VOID DosExit(COUNT ReturnValue);
  152. COUNT DosGetftime(COUNT fd, date *fdate, time *ftime);
  153. COUNT DosSetftime(COUNT fd, date *fdate, time *ftime);
  154. COUNT DosDelete(BYTE FAR *FileName);
  155. COUNT DosRename(BYTE FAR *OldName, BYTE FAR *NewName);
  156. COUNT DosMkdir(BYTE FAR *Dir);
  157. COUNT DosRmdir(BYTE FAR *Dir);
  158. COUNT DosExec(BYTE FAR *ProgName, exec_blk FAR *ProgArgs);
  159. UWORD DosRtnValue(VOID);
  160. VOID DosGetTime(COUNT *hp, COUNT *mp, COUNT *sp, COUNT *hdp);
  161. COUNT DosSetTime(COUNT *hp, COUNT *mp, COUNT *sp, COUNT *hdp);
  162. VOID DosSetVerify(BOOL mode);
  163. BOOL DosGetVerify(VOID);
  164. BOOL DosGetBreak(VOID);
  165. VOID DosSetBreak(BOOL BreakFlag);
  166. VOID DosGetDate(COUNT *wdp, COUNT *mp, COUNT *mdp, COUNT *yp);
  167. COUNT DosSetDate(COUNT *mp, COUNT *mdp, COUNT *yp);
  168. BOOL DosCkKbReady(VOID);
  169. COUNT DosRdKb(VOID);
  170. UCOUNT DosAllocMem(UCOUNT MemSize, BOOL FAR *err);
  171. VOID DosFreeMem(UCOUNT SegmentMem, BOOL FAR *err);
  172. VOID DosParseFilename(BYTE FAR *pParseInput, fcb FAR *pFileFCB, BITS ParseControl);
  173. BOOL DosDupHandle(COUNT OldHandle, COUNT FAR *pNewHandle, COUNT FAR *pErrorCode);
  174. BOOL DosForceDupHandle(COUNT OpenHandle, COUNT DuplicateHandle, COUNT FAR *pErrorCode);