home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / IFSSRC.ZIP / FSH.H < prev    next >
Text File  |  1989-04-19  |  9KB  |  400 lines

  1. /*static char *SCCSID = "@(#)fsh.h    1.16 89/04/18";*/
  2. /*  fsh.h   - FSH_ = fshelper interface declarations */
  3.  
  4. /*
  5.  *  FSH_DOVOLIO2 omits flag definition
  6.  *
  7.  *  Since we are using C5.1, the function prototypes should be made to
  8.  *  conform with true ANSI standards.  I have converted FSH_ADDSHARE
  9.  *  as an example.
  10.  *
  11.  */
  12.  
  13. #if 1
  14. int far pascal
  15. FSH_ADDSHARE(
  16.     char far *,            /* pName    */
  17.     unsigned short,        /* mode        */
  18.     unsigned short,        /* hVPB        */
  19.     unsigned long far *        /* phShare    */
  20. );
  21. #else
  22. USHORT far pascal
  23. FSH_ADDSHARE(
  24.     PSZ        pName,
  25.     USHORT  mode,
  26.     SHANDLE hVPB,
  27.     LHANDLE phShare
  28. );
  29. #endif
  30.  
  31. int far pascal
  32. FSH_BUFSTATE(
  33.     char far *,            /* pBuf        */
  34.     unsigned short,        /* flag        */
  35.     unsigned short far *    /* pState    */
  36. );
  37.  
  38. int far pascal
  39. FSH_CANONICALIZE(
  40.     char far *,            /* pPathName    */
  41.     unsigned short,        /* cbPathBuf    */
  42.     char far *            /* pPathBuf    */
  43. );
  44.  
  45. int far pascal
  46. FSH_CHECKEANAME(
  47.     unsigned short,        /* level    */
  48.     unsigned long,        /* len of name    */
  49.     char far *            /* pEAName    */
  50. );
  51.  
  52. int far pascal
  53. FSH_CRITERROR(
  54.     int,            /* cbMessage    */
  55.     char far *,            /* pMessage    */
  56.     int,            /* nSubs    */
  57.     char far *,            /* pSubs    */
  58.     unsigned short        /* fAllowed    */
  59. );
  60.  
  61. /*  Flags for fAllowed
  62.  */
  63. #define CE_ALLFAIL    0x0001        /*  FAIL allowed              */
  64. #define CE_ALLABORT    0x0002        /*  ABORT allowed              */
  65. #define CE_ALLRETRY    0x0004        /*  RETRY allowed              */
  66. #define CE_ALLIGNORE    0x0008        /*  IGNORE allowed              */
  67. #define CE_ALLACK    0x0010        /*  ACK allowed                  */
  68.  
  69. /*  Return values from FSH_CRITERR
  70.  */
  71. #define CE_RETIGNORE    0x0000        /*  User said IGNORE              */
  72. #define CE_RETRETRY    0x0001        /*  User said RETRY              */
  73. #define CE_RETFAIL    0x0003        /*  User said FAIL/ABORT          */
  74. #define CE_RETACK    0x0004        /*  User said continue              */
  75.  
  76. int far pascal
  77. FSH_DEVIOCTL(
  78.     unsigned short,        /* FSDRaisedFlag */
  79.     unsigned long,        /* hDev        */
  80.     unsigned short,        /* sfn        */
  81.     unsigned short,        /* cat        */
  82.     unsigned short,        /* func        */
  83.     char far *,            /* pParm    */
  84.     unsigned short,        /* cbParm    */
  85.     char far *,            /* pData    */
  86.     unsigned short        /* cbData    */
  87. );
  88.  
  89. int far pascal
  90. FSH_DOVOLIO(
  91.     unsigned short,        /* operation    */
  92.     unsigned short,        /* fAllowed    */
  93.     unsigned short,        /* hVPB        */
  94.     char far *,            /* pData    */
  95.     unsigned short far *,    /* pcSec    */
  96.     unsigned long        /* iSec        */
  97. );
  98.  
  99. /*  Flags for operation
  100.  */
  101. #define DVIO_OPREAD    0x0000        /*  no bit on => readi              */
  102. #define DVIO_OPWRITE    0x0001        /*  ON => write else read          */
  103. #define DVIO_OPBYPASS    0x0002        /*  ON => cache bypass else no bypass */
  104. #define DVIO_OPVERIFY    0x0004        /*  ON => verify after write          */
  105. #define DVIO_OPHARDERR    0x0008        /*  ON => return hard errors directly */
  106. #define DVIO_OPWRTHRU    0x0010        /*  ON => write thru              */
  107. #define DVIO_OPNCACHE    0x0020        /*  ON => don't cache data          */
  108.  
  109. /*  Flags for fAllowed
  110.  */
  111. #define DVIO_ALLFAIL    0x0001        /*  FAIL allowed              */
  112. #define DVIO_ALLABORT    0x0002        /*  ABORT allowed              */
  113. #define DVIO_ALLRETRY    0x0004        /*  RETRY allowed              */
  114. #define DVIO_ALLIGNORE    0x0008        /*  IGNORE allowed              */
  115. #define DVIO_ALLACK    0x0010        /*  ACK allowed                  */
  116.  
  117. int far pascal
  118. FSH_DOVOLIO2(
  119.     unsigned long,        /* hDev        */
  120.     unsigned short,        /* sfn        */
  121.     unsigned short,        /* cat        */
  122.     unsigned short,        /* func        */
  123.     char far *,            /* pParm    */
  124.     unsigned short,        /* cbParm    */
  125.     char far *,            /* pData    */
  126.     unsigned short        /* cbData    */
  127. );
  128.  
  129. int far pascal
  130. FSH_FINDCHAR(
  131.     unsigned short,        /* nChars    */
  132.     char far *,            /* pChars    */
  133.     char far * far *        /* ppStr    */
  134. );
  135.  
  136. int far pascal
  137. FSH_FINDDUPHVPB(
  138.     unsigned short,        /* hVPB        */
  139.     unsigned short far *    /* pHVPB    */
  140. );
  141.  
  142. int far pascal
  143. FSH_FLUSHBUF(
  144.     unsigned short,        /* hVPB        */
  145.     unsigned short        /* fDiscard    */
  146. );
  147.  
  148. /*  fDiscard values
  149.  */
  150. #define FB_DISCNONE    0x0000        /*  Do not discard buffers          */
  151. #define FB_DISCCLEAN    0x0001        /*  Discard clean buffers          */
  152.  
  153. int far pascal
  154. FSH_FORCENOSWAP(
  155.     unsigned short        /* sel        */
  156. );
  157.  
  158. int far pascal
  159. FSH_GETBUF(
  160.     unsigned long,        /* iSec        */
  161.     unsigned short,        /* fPreRead    */
  162.     unsigned short,        /* hVPB        */
  163.     char far * far *        /* ppBuf    */
  164. );
  165.  
  166. /*  Flags for fPreRead
  167.  */
  168. #define GB_PRNOREAD    0x0001        /*  ON => no preread occurs          */
  169.  
  170. int far pascal
  171. FSH_GETOVERLAPBUF(
  172.     unsigned short,        /* hVPB        */
  173.     unsigned long,        /* iSec        */
  174.     unsigned long,        /* iSec        */
  175.     unsigned long far *,    /* pisecBuf    */
  176.     char far * far *        /* ppBuf    */
  177. );
  178.  
  179. int far pascal
  180. FSH_GETVOLPARM(
  181.     unsigned short,        /* hVPB        */
  182.     struct vpfsi far * far *,    /* ppVPBfsi    */
  183.     struct vpfsd far * far *    /* ppVPBfsd    */
  184. );
  185.  
  186. int far pascal
  187. FSH_INTERR(
  188.     char far *,            /* pMsg        */
  189.     unsigned short        /* cbMsg    */
  190. );
  191.  
  192. int far pascal
  193. FSH_ISCURDIRPREFIX(
  194.     char far *            /* pName    */
  195. );
  196.  
  197. void far pascal
  198. FSH_LOADCHAR(
  199.     char far * far *,        /* ppStr    */
  200.     unsigned short far *    /* pChar    */
  201. );
  202.  
  203. void far pascal
  204. FSH_PREVCHAR(
  205.     char far *,            /* pBeg        */
  206.     char far * far *        /* ppStr    */
  207. );
  208.  
  209. int far pascal
  210. FSH_PROBEBUF(
  211.     unsigned short,        /* operation    */
  212.     char far *,            /* pData    */
  213.     unsigned short        /* cbData    */
  214. );
  215.  
  216. /*  Values for operation
  217.  */
  218. #define PB_OPREAD   0x0000        /*  Check for read access          */
  219. #define PB_OPWRITE  0x0001        /*  Check for write access          */
  220.  
  221. int far pascal
  222. FSH_QSYSINFO(
  223.     unsigned short,        /* index    */
  224.     char far *,            /* pData    */
  225.     unsigned short        /* cbData    */
  226. );
  227.  
  228. /* Values for index
  229.  */
  230. #define QSI_SECSIZE    1    /* index to query max sector size */
  231. #define QSI_PROCID    2    /* index to query PID,UserID and Currentpdb */
  232. #define QSI_THREADNO    3    /* index to query abs.thread no */
  233. #define QSI_VERIFY    4    /* index to query per-process verify */
  234.  
  235. int far pascal
  236. FSH_NAMEFROMSFN(
  237.     unsigned short,        /* sfn        */
  238.     char far *,            /* pName    */
  239.     unsigned short far *    /* pcbName    */
  240. );
  241.  
  242. int far pascal
  243. FSH_RELEASEBUF(void);
  244.  
  245. int far pascal
  246. FSH_REMOVESHARE(
  247.     unsigned long        /* hShare    */
  248. );
  249.  
  250. int far pascal
  251. FSH_SEGALLOC(
  252.     unsigned short,        /* flags    */
  253.     unsigned long,        /* cbSeg    */
  254.     unsigned short far *    /* pSel        */
  255. );
  256.  
  257. /*  Fields for flags
  258.  */
  259. #define SA_FLDT        0x0001        /*  ON => alloc LDT else GDT          */
  260. #define SA_FSWAP    0x0002        /*  ON => swappable memory          */
  261.  
  262. #define SA_FRINGMASK    0x6000        /*  mask for isolating ring          */
  263. #define SA_FRING0    0x0000        /*  ring 0                  */
  264. #define SA_FRING1    0x2000        /*  ring 1                  */
  265. #define SA_FRING2    0x4000        /*  ring 2                  */
  266. #define SA_FRING3    0x6000        /*  ring 3                  */
  267.  
  268.  
  269. int far pascal
  270. FSH_SEGFREE(
  271.     unsigned short        /* sel        */
  272. );
  273.  
  274. int far pascal
  275. FSH_SEGREALLOC(
  276.     unsigned short,        /* sel        */
  277.     unsigned long        /* cbSeg    */
  278. );
  279.  
  280.  
  281. /*  Timeout equates for all semaphore operations
  282.  */
  283. #define TO_INFINITE    0xFFFFFFFFL
  284. #define TO_NOWAIT    0x00000000L
  285.  
  286. int far pascal
  287. FSH_SEMCLEAR(
  288.     void far *            /* pSem        */
  289. );
  290.  
  291. int far pascal
  292. FSH_SEMREQUEST(
  293.     void far *,            /* pSem        */
  294.     unsigned long        /* cmsTimeout    */
  295. );
  296.  
  297. int far pascal
  298. FSH_SEMSET(
  299.     void far *            /* pSem        */
  300. );
  301.  
  302. int far pascal
  303. FSH_SEMSETWAIT(
  304.     void far *,            /* pSem        */
  305.     unsigned long        /* cmsTimeout    */
  306. );
  307.  
  308. int far pascal
  309. FSH_SEMWAIT(
  310.     void far *,            /* pSem        */
  311.     unsigned long        /* cmsTimeout    */
  312. );
  313.  
  314. int far pascal
  315. FSH_STORECHAR(
  316.     unsigned short,        /* chDBCS    */
  317.     char far * far *        /* ppStr    */
  318. );
  319.  
  320. int far pascal
  321. FSH_UPPERCASE(
  322.     char far *,            /* pName    */
  323.     unsigned short,        /* cbPathBuf    */
  324.     char far *            /* pPathBuf    */
  325. );
  326.  
  327. int far pascal
  328. FSH_WILDMATCH(
  329.     char far *,            /* pPat        */
  330.     char far *            /* pStr        */
  331. );
  332.  
  333. int far pascal
  334. FSH_YIELD(void);
  335.  
  336. int far pascal
  337. MFSH_DOVOLIO(
  338.     char far *,            /* Data        */
  339.     unsigned short far *,    /* cSec        */
  340.     unsigned long        /* iSec        */
  341. );
  342.  
  343. int far pascal
  344. MFSH_INTERR(
  345.     char far *,            /* Msg        */
  346.     unsigned short        /* cbMsg    */
  347. );
  348.  
  349. int far pascal
  350. MFSH_SEGALLOC(
  351.     unsigned short,        /* Flag        */
  352.     unsigned long,        /* cbSeg    */
  353.     unsigned short far *    /* Sel        */
  354. );
  355.  
  356. int far pascal
  357. MFSH_SEGFREE(
  358.     unsigned short        /* Sel        */
  359. );
  360.  
  361. int far pascal
  362. MFSH_SEGREALLOC(
  363.     unsigned short,        /* Sel        */
  364.     unsigned long        /* cbSeg    */
  365. );
  366.  
  367. int far pascal
  368. MFSH_CALLRM(
  369.     unsigned long far *        /* Proc        */
  370. );
  371.  
  372. int far pascal
  373. MFSH_LOCK(
  374.     unsigned short,        /* Sel        */
  375.     unsigned long far *        /* Handle    */
  376. );
  377.  
  378. int far pascal
  379. MFSH_PHYSTOVIRT(
  380.     unsigned long,        /* Addr        */
  381.     unsigned short,        /* Len        */
  382.     unsigned short far *    /* Sel        */
  383. );
  384.  
  385. int far pascal
  386. MFSH_UNLOCK(
  387.     unsigned long        /* Handle    */
  388. );
  389.  
  390. int far pascal
  391. MFSH_UNPHYSTOVIRT(
  392.     unsigned short        /* Sel        */
  393. );
  394.  
  395. int far pascal
  396. MFSH_VIRT2PHYS(
  397.     unsigned long,        /* VirtAddr    */
  398.     unsigned long far *        /* PhysAddr    */
  399. );
  400.