home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ifsinf.zip / FSH.H < prev    next >
Text File  |  1991-10-25  |  10KB  |  435 lines

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