home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 1B / DATAFILE_PDCD1B.iso / _pocketbk / pocketbook / 004 / isameg_zip / L_FILE.OPH < prev    next >
Text File  |  1993-01-19  |  7KB  |  181 lines

  1. /*
  2.  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  3.  File        : L_FILE.OPH
  4.  
  5.  Project     : HC OPL Development Kit (\OPLLIB\INC\)
  6.  Source      : PC OPL/g  Graphical OPL
  7.  Target      : HC        Corporate Hand Held
  8.  
  9.  Copyright 1992 - Psion UK plc
  10.  
  11.  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  12.  
  13.  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  14.  ³                         EDITION HISTORY                                ³
  15.  ÆÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵
  16.  ³ Date       Version   Author      Comments                              ³
  17.  ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
  18.  ³ 18/NOV/92    2.00    HOWARD      Created                               ³
  19.  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  20.  
  21.   General Module Description:
  22.  
  23.     I/O system control block definitions and error numbers
  24.  
  25.  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  26. */
  27.  
  28. #define L_FILE_OPH
  29.  
  30. /* Wait Handler defines */
  31. #define SIGNAL_UNUSED 0   /* signal not used by waithandler */
  32. #define SIGNAL_ENABLE 1  /* signal used by handler, I/O's still pending */
  33. #define SIGNAL_DISABLE 2 /* signal used by handler, no I/O's pending */
  34.  
  35. /* open service mode flags */
  36. #define FOPEN $0000 /* Open i/o service */
  37. #define FCREATE $0001 /* Create file */
  38. #define FREPLACE $0002 /* Replace file */
  39. #define FAPPEND $0003 /* Append records */
  40. #define FUNIQUE $0004 /* Unique file open */
  41. #define FSER_MASK $000f /* File service mask */
  42.  
  43. #define FSTREAM $0000 /* Stream access to a binary file */
  44. #define FSTREAM_TEXT $0010 /* Stream access to a text file */
  45. #define FTEXT $0020 /* Record access to a text file */
  46. #define FDIR $0030 /* Record access to a directory file */
  47. #define FFORMAT $0040 /* Format a device */
  48. #define FDEVICE $0050 /* Record access to device name list */
  49. #define FNODE $0060 /* Record access to node name list */
  50. #define FMT_MASK $00f0 /* File format mask */
  51.  
  52. #define FUPDATE $0100 /* Read and write access */
  53. #define FRANDOM $0200 /* Random access */
  54. #define FSHARE $0400 /* File can be shared */
  55. #define FACC_MASK $0f00 /* mask for access types */
  56.  
  57. /* io/iow function constants */
  58. /* Generic I/O functions */
  59. #define FPANIC 0 /* Panic the device */
  60. #define FREAD 1 /* Read */
  61. #define FWRITE 2 /* Write */
  62. #define FCLOSE 3 /* Close */
  63. #define FCANCEL 4 /* Cancel io */
  64. #define FATTACH 5 /* attach this pseudo device */
  65. #define FDETACH 6 /* detach this pseudo device */
  66. #define FSET 7 /* set channel characteristics */
  67. #define FSENSE 8 /* sense channel characteristics */
  68. #define FFLUSH 9 /* Flush buffers */
  69.  
  70. /* Now follows the device specific functions */
  71. /* Files */
  72. #define FSEEK 10 /* Seek */
  73. #define FSETEOF 11 /* Set end of file */
  74.  
  75. /* Timer */
  76. #define FRELATIVE 1 /* Relative timer */
  77. #define FABSOLUTE 2 /* Absolute timer */
  78.  
  79. /* Data Link I/O + wserv */
  80. #define FCONNECT 10 /* Queue a link connect request */
  81. #define FDISCONNECT 11 /* Disconnect the link */
  82.  
  83. /* wserv functions */
  84. #define FWRITE_REPLY 12 /* FWRITE + read a reply from the server */
  85.  
  86. /* Serial/llmac */
  87. #define FTEST 10 /* return no. of bytes in serial receieve buffer */
  88. #define FCTRL 11 /* serial port control lines */
  89. #define FINQ 12 /* inquire of device capabilities */
  90. #define FRSUPER 13 /* read a supervisory frame (llmac) */
  91. #define FSTOP 14 /* stop LLMAC mode */
  92. #define FSTART 15 /* start LLMAC mode */
  93.  
  94. /* Serial LDD to Serial PDD I/O defines */
  95. #define FENABLE 16 /* Enable transmit interrupts */
  96. #define FSETINT 17 /* set the serial Interrupt code ptrs */
  97.  
  98. /* modem functions */
  99. #define FMINIT 16 /* modem initialization function */
  100. #define FMDIAL 17 /* modem dial function */
  101. #define FMWAITCALL 18 /* wait for an incoming call */
  102. #define FMSENSE 19 /* Sense Modem characteristics */
  103. #define FMSET 20 /* Set Modem characteristics */
  104. #define FMCANCEL 21 /* Cancel outstanding mode request */
  105.  
  106. /* ioseek() mode constants */
  107. #define FABS 1 /* Position absolute in the file */
  108. #define FEND 2 /* Position relative from the end of file */
  109. #define FCUR 3 /* Position relative to the current pos */
  110. #define FRSENSE 4 /* Sense the record position */
  111. #define FRSET 5 /* Set the record position */
  112. #define FREWIND 6 /* Rewind a text file */
  113.  
  114.  
  115. /* defines for changing directories */
  116. #define CD_ROOT 0     /* goto root directory */
  117. #define CD_PARENT 1   /* goto parent directory */
  118. #define CD_SUBDIR 2   /* goto subdirectory */
  119.  
  120. /* masks for status flag of INFO */
  121. #define FAWRITE  $01 /* can the file be written to? */
  122. #define FAHIDDEN $02 /* set if file is hidden */
  123. #define FASYSTEM $04 /* set if  file is a system file */
  124. #define FAVOLUME $08 /* set if the name is a volume name */
  125. #define FADIR    $10 /* set if file is a directory file */
  126. #define FAMOD    $20 /* has the file been modified? */
  127. #define FAREAD   $100 /* can the file be read? */
  128. #define FAEXEC   $200 /* is the file executable? */
  129. #define FASTREAM $400 /* is the file a byte stream file? */
  130. #define FATEXT   $800 /* is it a text file? */
  131.  
  132. #define FMEDIA_COMPRESSIBLE $8000 /* Worth compressing deleted records */
  133. #define FMEDIA_DYNAMIC $4000 /* Media size is dynamic */
  134. #define FMEDIA_INTERNAL $2000 /* Media is internal */
  135. #define FMEDIA_DUAL_DENSITY $1000 /* media has dual density */
  136. #define FMEDIA_FORMATTABLE $800 /* media is formattable  */
  137.  
  138. #define VOLUMENAME    32
  139.  
  140. /* Media Constants */
  141.  
  142. #define FMEDIA_UNKNOWN 0
  143. #define FMEDIA_FLOPPY 1
  144. #define FMEDIA_HARDDISK 2
  145. #define FMEDIA_FLASH 3
  146. #define FMEDIA_RAM 4
  147. #define FMEDIA_ROM 5
  148. #define FMEDIA_WRITEPROTECTED 6
  149.  
  150.  
  151. #define FSYSTYPE_FLAT 0
  152. #define FSYSTYPE_HIER 1
  153.  
  154. /* Flag defines for parse$ */
  155. #define PARSE_WILD_NONE 0  /* no wildcards in returned name */
  156. #define PARSE_WILD_NAME 1  /* the name field contains wildcards */
  157. #define PARSE_WILD_EXT  2  /* the extension contains wildcards */
  158. #define PARSE_WILD_BOTH 3  /* both contain wildcards */
  159.  
  160.  
  161. /* Full file system parse - parse$ */
  162. #define FSYSNAMESIZE 5
  163.  
  164. #define FBLKSHIFT 9 /* Block shift factor */
  165. #define FBLKSIZE $200 /* Block size */
  166. #define FMAXRSIZE $100 /* Maximum text record size */
  167. #define FMAXSSIZE $4000 /* Maximum stream read/write length */
  168. #define FSIZRPOS sizeof(LONG) /* array size for storing r/w position */
  169.  
  170. #define MAXDEV 128 /* Maximum device name size */
  171. #define MAXPATH 128 /* Maximum path size */
  172. #define MAXNAME 128 /* Maximum name size */
  173. #define MAXEXTN 128 /* Maximum extension size */
  174. #define FNAMESIZE 128 /* Maximum file name size */
  175.  
  176. #define FORMAT_START 0
  177. #define FORMAT_IN_PROGRESS 1
  178. #define FORMAT_END 2
  179.  
  180.  
  181.