home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s038 / 10.ddi / 017.LIF / UDI.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-02  |  5.7 KB  |  225 lines

  1. /*
  2.  * udi.h - iRMX (reg. TM) UDI System Call interface functions
  3.  * Copyright (C) 1990,1991 Intel Corporation, ALL RIGHTS RESERVED
  4.  */
  5.  
  6. #ifndef _udi_ch
  7. #ifndef _udih
  8. #define _udih
  9.  
  10. #include <i86.h>
  11.  
  12. #ifndef _native_word
  13. #define _native_word
  14. #if _ARCHITECTURE_ < 386
  15. #define NATIVE_WORD        unsigned short    /* 16-bit machine */
  16. #else
  17. #define NATIVE_WORD        unsigned long    /* 32-bit machine */
  18. #endif
  19. #define BYTE        unsigned char        /* PLM types for B/W compatibility */
  20. #define STRING      char
  21. #define BOOLEAN     unsigned char
  22. #define WORD        unsigned short
  23. #define DWORD       unsigned long
  24. #define TOKEN       selector
  25. #define SELECTOR    selector
  26. #endif
  27.  
  28. /* -------------------------------------------------------------------- */
  29.  
  30. /*
  31.  * iRMX UDI interface functions
  32.  */
  33.  
  34. #pragma fixedparams("dqallocate","dqattach","dqchangeaccess")
  35. #pragma fixedparams("dqchangeextension","dqclose","dqcreate")
  36. #pragma fixedparams("dqdecodeexception","dqdecodetime","dqdelete")
  37. #pragma fixedparams("dqdetach","dqexit","dqfileinfo","dqfree")
  38. #pragma fixedparams("dqgetargument","dqgetconnectionstatus")
  39. #pragma fixedparams("dqgetexceptionhandler","dqgetmsize","dqgetsize")
  40. #pragma fixedparams("dqgetsystemid","dqgettime","dqmallocate","dqmfree")
  41. #pragma fixedparams("dqopen","dqread","dqrename")
  42. #pragma fixedparams("dqreserveiomemory","dqseek","dqspecial")
  43. #pragma fixedparams("dqswitchbuffer","dqtrapcc","dqtrapexception")
  44. #pragma fixedparams("dqtruncate","dqwrite")
  45.  
  46. /* iRMX UDI structure usage:
  47.  *
  48.  * CONNSTATUSSTRUCT - dqgetconnectionstatus
  49.  * DATETIMESTRUCT - dqdecodetime
  50.  * FILEINFOSTRUCT - dqfileinfo
  51.  * HANDLERPTRSTRUCT - dqgetexceptionhandler, dqtrapcc, dqtrapexception
  52.  */
  53.  
  54. /* -------------------------------------------------------------------- */
  55.  
  56. /*
  57.  * iRMX structure declarations
  58.  */
  59.  
  60. #pragma noalign (connstatusstruct)
  61. typedef struct connstatusstruct {
  62.     unsigned char        open;
  63.     unsigned char        access;
  64.     unsigned char        seek;
  65.     unsigned long        fileptr;
  66. } CONNSTATUSSTRUCT;
  67.  
  68. #pragma noalign (datetimestruct)
  69. typedef struct datetimestruct {
  70.     unsigned long        systemtime;
  71.     unsigned char        date[8];
  72.     unsigned char        time[8];
  73. } DATETIMESTRUCT;
  74.  
  75. #pragma noalign (fileinfostruct)
  76. typedef struct fileinfostruct {
  77.     unsigned char        owner[15];
  78.     unsigned long        length;
  79.     unsigned char        type;
  80.     unsigned char        owneraccess;
  81.     unsigned char        worldaccess;
  82.     unsigned long        creationtime;
  83.     unsigned long        modifytime;
  84.     unsigned char        groupaccess;
  85.     unsigned char        reserved[19];
  86. } FILEINFOSTRUCT;
  87.  
  88. #pragma noalign (handlerptrstruct)
  89. typedef struct handlerptrstruct {
  90.     NATIVE_WORD            offset;
  91.     selector            base;
  92. } HANDLERPTRSTRUCT;
  93.  
  94. /* -------------------------------------------------------------------- */
  95.  
  96. /*
  97.  * iRMX UDI interface functions
  98.  */
  99.  
  100. extern selector    dqallocate(NATIVE_WORD,
  101.                             unsigned short far *);
  102.  
  103. extern selector    dqattach(char far *,
  104.                             unsigned short far *);
  105.  
  106. extern void dqchangeaccess(char far *,
  107.                             unsigned char,
  108.                             unsigned char,
  109.                             unsigned short far *);
  110.  
  111. extern void dqchangeextension(char far *,
  112.                             char far *,
  113.                             unsigned short far *);
  114.  
  115. extern void dqclose(selector,
  116.                             unsigned short far *);
  117.  
  118. extern selector    dqcreate(char far *,
  119.                             unsigned short far *);
  120.  
  121. extern void dqdecodeexception(unsigned short,
  122.                             char far *,
  123.                             unsigned short far *);
  124.  
  125. extern void dqdecodetime(DATETIMESTRUCT far *,
  126.                             unsigned short far *);
  127.  
  128. extern void dqdelete(char far *,
  129.                             unsigned short far *);
  130.  
  131. extern void dqdetach(selector,
  132.                             unsigned short far *);
  133.  
  134. extern void dqexit(unsigned short);
  135.  
  136. extern void dqfileinfo(selector,
  137.                             unsigned char,
  138.                             FILEINFOSTRUCT far *,
  139.                             unsigned short far *);
  140.  
  141. extern void dqfree(selector,
  142.                             unsigned short far *);
  143.  
  144. extern unsigned char dqgetargument(char far *,
  145.                             unsigned short far *);
  146.  
  147. extern void dqgetconnectionstatus(selector,
  148.                             CONNSTATUSSTRUCT far *,
  149.                             unsigned short far *);
  150.  
  151. extern void dqgetexceptionhandler(
  152.                             HANDLERPTRSTRUCT far *,
  153.                             unsigned short far *);
  154.  
  155. extern NATIVE_WORD dqgetsize(selector,
  156.                             unsigned short far *);
  157.  
  158. extern void dqgetsystemid(unsigned char far * id,
  159.                             unsigned short far *);
  160.  
  161. extern void dqgettime(unsigned char far *,
  162.                             unsigned short far *);
  163.  
  164. extern unsigned char far *    dqmallocate(unsigned long,
  165.                             unsigned short far *);
  166.  
  167. extern void dqmfree(unsigned char far *,
  168.                             unsigned short far *);
  169.  
  170. extern unsigned long    dqgetmsize(unsigned char far *,
  171.                             unsigned short far *);
  172.  
  173. extern void dqopen(selector,
  174.                             unsigned char,
  175.                             unsigned char,
  176.                             unsigned short far *);
  177.  
  178. #if _ARCHITECTURE_ < 386
  179. #pragma fixedparams("dqoverlay")
  180. extern void dqoverlay(char far *,
  181.                             unsigned short far *);
  182. #endif
  183.  
  184. extern NATIVE_WORD dqread(selector,
  185.                             unsigned char far *,
  186.                             NATIVE_WORD,
  187.                             unsigned short far *);
  188.  
  189. extern void dqrename(char far *,
  190.                             char far *,
  191.                             unsigned short far *);
  192.  
  193. extern void dqreserveiomemory(unsigned short,
  194.                             unsigned short,
  195.                             unsigned short far *);
  196.  
  197. extern void dqseek(selector,
  198.                             unsigned char,
  199.                             unsigned long,
  200.                             unsigned short far *);
  201.  
  202. extern void dqspecial(unsigned char,
  203.                             void far *,
  204.                             unsigned short far *);
  205.  
  206. extern unsigned short dqswitchbuffer(unsigned char far *,
  207.                             unsigned short far *);
  208.  
  209. extern void dqtrapcc(HANDLERPTRSTRUCT far *,
  210.                             unsigned short far *);
  211.  
  212. extern void dqtrapexception(HANDLERPTRSTRUCT far *,
  213.                             unsigned short far *);
  214.  
  215. extern void dqtruncate(selector,
  216.                             unsigned short far *);
  217.  
  218. extern void dqwrite(selector,
  219.                             unsigned char far *,
  220.                             NATIVE_WORD,
  221.                             unsigned short far *);
  222.  
  223. #endif    /* _udih */
  224. #endif    /* _udi_ch */
  225.