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