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

  1. /*
  2.  * rmxc.h - iRMX (reg. TM) System Call interface functions
  3.  * Copyright (C) 1989, 90, 91 Intel Corporation, ALL RIGHTS RESERVED
  4.  */
  5.  
  6. #ifndef _rmx_ch
  7. #ifndef _rmxch
  8. #define _rmxch
  9.  
  10. #include <i86.h>
  11.  
  12. #ifndef _udih
  13. #include <udi.h>
  14. #endif
  15.  
  16. #ifndef _native_word
  17. #define _native_word
  18. #if _ARCHITECTURE_ < 386
  19. #define    NATIVE_WORD        unsigned short    /* 16-bit machine */
  20. #else
  21. #define    NATIVE_WORD        unsigned long    /* 32-bit machine */
  22. #endif
  23. #define BYTE        unsigned char        /* PLM types for B/W compatibility */
  24. #define STRING      char
  25. #define BOOLEAN     unsigned char
  26. #define WORD        unsigned short
  27. #define DWORD       unsigned long
  28. #define TOKEN       selector
  29. #define SELECTOR    selector
  30. #endif
  31.  
  32. /* -------------------------------------------------------------------- */
  33.  
  34. /*
  35.  * iRMX structure declarations
  36.  */
  37.  
  38. #pragma noalign (accessstruct)
  39. typedef struct accessstruct {
  40.     unsigned char        access;
  41.     unsigned char        reserved;
  42. } ACCESSSTRUCT;
  43.  
  44. #pragma noalign (connectioninfostruct)
  45. typedef struct connectioninfostruct {
  46.     unsigned char        filedriver;
  47.     unsigned char        flags;
  48.     unsigned char        openmode;
  49.     unsigned char        sharemode;
  50.     unsigned long        fileptr;
  51.     unsigned char        access;
  52.     unsigned char        numberbuffers;
  53.     unsigned short        buffersize;
  54.     unsigned char        seek;
  55. } CONNECTIONINFOSTRUCT;
  56.  
  57. #ifndef _udih
  58. #pragma noalign (datetimestruct)
  59. typedef struct datetimestruct {
  60.     unsigned long        systemtime;
  61.     unsigned char        date[8];
  62.     unsigned char        time[8];
  63. } DATETIMESTRUCT;
  64. #endif
  65.  
  66. #pragma noalign (devinfostruct)
  67. typedef struct devinfostruct {
  68.     unsigned char        devicename[15];
  69.     unsigned char        filedriver;
  70.     unsigned short        numconns;
  71.     unsigned short        ownerid;
  72. } DEVINFOSTRUCT;
  73.  
  74. #pragma noalign (epoolattribstruct)
  75. typedef struct epoolattribstruct {
  76.     selector            targetjob;
  77.     selector            parentjob;
  78.     unsigned long        poolmax;
  79.     unsigned long        poolmin;
  80.     unsigned long        initialsize;
  81.     unsigned long        allocated;
  82.     unsigned long        available;
  83.     unsigned long        borrowed;
  84. } EPOOLATTRIBSTRUCT;
  85.  
  86. #pragma noalign (exceptionstruct)
  87. typedef struct exceptionstruct {
  88.     NATIVE_WORD            offset;
  89.     selector            base;
  90.     unsigned char        exceptionmode;
  91. } EXCEPTIONSTRUCT;
  92.  
  93. #pragma noalign (extdatastruct)
  94. typedef struct extdatastruct {
  95.     unsigned char        count;
  96.     unsigned char        info[2];    /* adjust # of info bytes */
  97. } EXTDATASTRUCT;
  98.  
  99. #pragma noalign (getportattribstruct)
  100. typedef struct getportattribstruct {
  101.     unsigned short        portid;
  102.     unsigned char        type;
  103.     unsigned char        reserveda;
  104.     unsigned short        numtrans;
  105.     unsigned short        reserved[2];
  106.     selector            sinkport;
  107.     unsigned long        defaultremotesocket;
  108.     selector            bufferpool;
  109.     unsigned short        flags;
  110.     unsigned char        reservedb;
  111. } GETPORTATTRIBSTRUCT;
  112.  
  113. #ifndef _udih
  114. #pragma noalign (handlerptrstruct)
  115. typedef struct handlerptrstruct {
  116.     NATIVE_WORD            offset;
  117.     selector            base;
  118. } HANDLERPTRSTRUCT;
  119. #endif
  120.  
  121. #pragma noalign (idsstruct)
  122. typedef struct idsstruct {
  123.     unsigned short        length;
  124.     unsigned short        count;
  125.     unsigned short        ids[2]; /* adjust # of id words */
  126. } IDSSTRUCT;
  127.  
  128. #pragma noalign (iorsstruct)
  129. typedef struct iorsstruct {
  130.     NATIVE_WORD            actual;
  131. #if _ARCHITECTURE_ < 386
  132.     unsigned short        actualfill;
  133. #endif
  134.     unsigned short        device;
  135.     unsigned char        unit;
  136.     unsigned char        funct;
  137.     unsigned short        subfunct;
  138.     unsigned long        deviceloc;
  139.     unsigned char far * buff;
  140.     NATIVE_WORD            count;
  141. #if _ARCHITECTURE_ < 386
  142.     unsigned short        countfill;
  143. #endif
  144.     void far *            aux;
  145. } IORSSTRUCT;
  146.  
  147. #pragma noalign (offspringstruct)
  148. typedef struct offspringstruct {
  149.     unsigned short        maxnum;
  150.     unsigned short        actual;
  151.     selector            children[2];    /* adjust # of children! */
  152. } OFFSPRINGSTRUCT;
  153.  
  154. #pragma noalign (plmstringstruct)
  155. typedef struct plmstringstruct {
  156.     unsigned char        count;
  157.     unsigned char        string[2];    /* adjust # of bytes in string */
  158. } PLMSTRINGSTRUCT;
  159.  
  160. #pragma noalign (poolattribstruct)
  161. typedef struct poolattribstruct {
  162.     unsigned long        poolmax;
  163.     unsigned long        poolmin;
  164.     unsigned long        initialsize;
  165.     unsigned long        allocated;
  166.     unsigned long        available;
  167. } POOLATTRIBSTRUCT;
  168.  
  169. #pragma noalign (receiveinfostruct)
  170. typedef struct receiveinfostruct {
  171.     unsigned short        flags;
  172.     unsigned short        status;
  173.     unsigned short        transid;
  174.     unsigned long        datalength;
  175.     selector            forwardingport;
  176.     unsigned long        remotesocket;
  177.     unsigned char        controlmsg[20];
  178.     unsigned char        reserved[4];
  179. } RECEIVEINFOSTRUCT;
  180.  
  181. #pragma noalign (replyinfostruct)
  182. typedef struct replyinfostruct {
  183.     unsigned short        flags;
  184.     unsigned short        status;
  185.     unsigned short        transid;
  186.     unsigned long        datalength;
  187.     selector            forwardingport;
  188.     unsigned long        remotesocket;
  189.     unsigned char        controlmsg[20];
  190.     unsigned char        reserved;
  191. } REPLYINFOSTRUCT;
  192.  
  193. #pragma noalign (settimestruct)
  194. typedef struct settimestruct {
  195.     unsigned char        seconds;
  196.     unsigned char        minutes;
  197.     unsigned char        hours;
  198.     unsigned char        days;
  199.     unsigned char        months;
  200.     unsigned short        years;
  201. } SETTIMESTRUCT;
  202.  
  203. #pragma noalign (sfilestatusstruct)
  204. typedef struct sfilestatusstruct {
  205.     unsigned short        deviceshare;
  206.     unsigned short        numberconnections;
  207.     unsigned short        numberreaders;
  208.     unsigned short        numberwriters;
  209.     unsigned char        share;
  210.     unsigned char        namedfile;
  211.     unsigned char        devicename[14];
  212.     unsigned short        filedrivers;
  213.     unsigned char        functions;
  214.     unsigned char        flags;
  215.     unsigned short        devicegranularity;
  216.     unsigned long        devicesize;
  217.     unsigned short        deviceconnections;
  218.     unsigned short        fileid;
  219.     unsigned char        filetype;
  220.     unsigned char        filegranularity;
  221.     unsigned short        ownerid;
  222.     unsigned long        creationtime;
  223.     unsigned long        accesstime;
  224.     unsigned long        modifytime;
  225.     unsigned long        filesize;
  226.     unsigned long        fileblocks;
  227.     unsigned char        volumename[6];
  228.     unsigned short        volumegranularity;
  229.     unsigned long        volumesize;
  230.     unsigned short        accessorcount;
  231.     unsigned char        owneraccess;
  232. } SFILESTATUSSTRUCT;
  233.  
  234. #pragma noalign (stringtablestruct)
  235. typedef struct stringtablestruct {
  236.     unsigned char        numentry;
  237.     PLMSTRINGSTRUCT        strings[2];
  238. } STRINGTABLESTRUCT;
  239.  
  240. #pragma noalign (tokenliststruct)
  241. typedef struct tokenliststruct {
  242.     unsigned short        numslots;
  243.     unsigned short        numused;
  244.     selector            tokens[2];    /* adjust # of tokens */
  245. } TOKENLISTSTRUCT;
  246.  
  247. /* -------------------------------------------------------------------- */
  248.  
  249. /*
  250.  * iRMX asynchronous structure declarations
  251.  */
  252.  
  253. #pragma noalign (termattribstruct)
  254. typedef struct termattribstruct {
  255.     unsigned short        numwords;
  256.     unsigned short        numused;
  257.     unsigned short        connectionflags;
  258.     unsigned short        terminalflags;
  259.     NATIVE_WORD            inbaudrate;
  260.     NATIVE_WORD            outbaudrate;
  261.     unsigned short        scrolllines;
  262.     unsigned char        pagewidth;
  263.     unsigned char        pagelength;
  264.     unsigned char        cursoroffset;
  265.     unsigned char        overflowoffset;
  266.     unsigned short        specialmodes;
  267.     unsigned short        highwatermark;
  268.     unsigned short        lowwatermark;
  269.     unsigned short        fconchar;
  270.     unsigned short        fcoffchar;
  271.     unsigned short        linkparameter;
  272.     unsigned short        spchiwatermark;
  273.     unsigned char        specialchar[4];
  274. } TERMATTRIBSTRUCT;     
  275.  
  276. #pragma noalign (a_iors_data_struct)
  277. typedef struct a_iors_data_struct {
  278.     unsigned short        status;
  279.     unsigned short        unit_status;
  280.     unsigned long        actual;
  281.     unsigned short        device;
  282.     unsigned char        unit;
  283.     unsigned char        funct;
  284.     unsigned short        subfunct;
  285.     unsigned long        device_loc;
  286.     unsigned char far *    buf_ptr;
  287.     unsigned long        count;
  288.     void far *            aux_ptr;
  289.     unsigned char far *    link_for;
  290.     unsigned char far *    link_back;
  291.     selector            resp_mbox;
  292.     unsigned char        done;
  293.     unsigned char        fill;
  294.     selector            cancel_id;
  295.     selector            conn_t;
  296. } A_IORS_DATA_STRUCT;
  297.  
  298. /* C Data Structures for iRMX For Windows Calls */
  299.  
  300. #pragma noalign (dos_state_struct)
  301. typedef struct dos_state_struct {
  302.     unsigned long        edi;
  303.     unsigned long        esi;
  304.     unsigned long        ebp;
  305.     unsigned long        res1;
  306.     unsigned long        ebx;
  307.     unsigned long        edx;
  308.     unsigned long        ecx;
  309.     unsigned long        eax;
  310.     unsigned long        res2;
  311.     unsigned long        eip;
  312.     unsigned long        cs;
  313.     unsigned long        eflags;
  314.     unsigned long        esp;
  315.     unsigned long        ss;
  316.     unsigned long        es;
  317.     unsigned long        ds;
  318.     unsigned long        fs;
  319.     unsigned long        gs;
  320. } DOS_STATE_STRUCT;
  321.  
  322. #pragma noalign (DOSWORDREGS)
  323. struct DOSWORDREGS {
  324.     unsigned short        status;
  325.     unsigned short        flags;
  326.     unsigned char        int_num;
  327.     unsigned char        tsr_flags;
  328.     unsigned short        reg_ax;
  329.     unsigned short        reg_bx;
  330.     unsigned short        reg_cx;
  331.     unsigned short        reg_dx;
  332.     unsigned short        reg_di;
  333.     unsigned short        reg_si;
  334.     unsigned short        reg_ds;
  335.     unsigned short        reg_es;
  336.     unsigned short        reg_bp;
  337.     unsigned char        xfer_data;
  338.     unsigned char        src1_xfer_pair;
  339.     unsigned char        src2_xfer_pair;
  340.     unsigned char        dest1_xfer_pair;
  341.     unsigned char        dest2_xfer_pair;
  342.     void far *            src_ptr_1;
  343.     unsigned short        src_count_1;
  344.     void far *            src_ptr_2;
  345.     unsigned short        src_count_2;
  346.     void far *            dest_ptr_1;
  347.     unsigned short        dest_count_1;
  348.     void far *            dest_ptr_2;
  349.     unsigned short        dest_count_2;
  350. };
  351.  
  352. #pragma noalign (DOSBYTEREGS)
  353. struct DOSBYTEREGS {
  354.     unsigned short        status;
  355.     unsigned short        flags;
  356.     unsigned char        int_num;
  357.     unsigned char        tsr_flags;
  358.     unsigned char        reg_al;
  359.     unsigned char        reg_ah;
  360.     unsigned char        reg_bl;
  361.     unsigned char        reg_bh;
  362.     unsigned char        reg_cl;
  363.     unsigned char        reg_ch;
  364.     unsigned char        reg_dl;
  365.     unsigned char        reg_dh;
  366.     unsigned short        reg_di;
  367.     unsigned short        reg_si;
  368.     unsigned short        reg_ds;
  369.     unsigned short        reg_es;
  370.     unsigned short        reg_bp;
  371.     unsigned char        xfer_data;
  372.     unsigned char        src1_xfer_pair;
  373.     unsigned char        src2_xfer_pair;
  374.     unsigned char        dest1_xfer_pair;
  375.     unsigned char        dest2_xfer_pair;
  376.     void far *            src_ptr_1;
  377.     unsigned short        src_count_1;
  378.     void far *            src_ptr_2;
  379.     unsigned short        src_count_2;
  380.     void far *            dest_ptr_1;
  381.     unsigned short        dest_count_1;
  382.     void far *            dest_ptr_2;
  383.     unsigned short        dest_count_2;
  384. };
  385.  
  386. typedef union dos_data_struct    {
  387.     struct DOSWORDREGS x;
  388.     struct DOSBYTEREGS h;
  389. } DOS_DATA_STRUCT;
  390.  
  391. #pragma noalign (duib_struct)
  392. typedef struct duib_struct {
  393.     unsigned char        name[14];
  394.     unsigned short        file_drivers;
  395.     unsigned char        functs;
  396.     unsigned char        flags;
  397.     unsigned short        dev_gran;
  398.     unsigned long        dev_size;
  399.     unsigned char        device;
  400.     unsigned char        unit;
  401.     unsigned short        dev_unit;
  402.     unsigned long        init_io;
  403.     unsigned long        finish_io;
  404.     unsigned long        queue_io;
  405.     unsigned long        cancel_io;
  406.     void far *            device_info_p;
  407.     void far *            unit_info_p;
  408.     unsigned short        update_timeout;
  409.     unsigned short        num_buffers;
  410.     unsigned char        priority;
  411.     unsigned char        fixed_update;
  412.     unsigned char        max_buffers;
  413.     unsigned char        reserved;
  414. } DUIB_STRUCT;
  415.  
  416. #pragma noalign (duib_table_struct)
  417. typedef struct duib_table_struct {
  418.     DUIB_STRUCT            duibs[1];    /* adjust as needed */
  419. } DUIB_TABLE_STRUCT;
  420.  
  421. /* -------------------------------------------------------------------- */
  422.  
  423. /*
  424.  * iRMX utility functions
  425.  */
  426.  
  427. #pragma fixedparams("_get_rmx_conn", "_put_rmx_conn", "_cstop")
  428. #pragma fixedparams("_get_info", "_set_info")
  429.  
  430. #pragma noalign (cinfo_struct)
  431. typedef struct cinfo_struct
  432. {
  433.     int                num_eios_bufs;
  434.     unsigned long    *accounting;
  435. } CINFO_STRUCT;
  436.     
  437. extern selector _get_rmx_conn (int fd);
  438. extern int _put_rmx_conn (selector connection);
  439. extern void _cstop (selector task_t);
  440. extern int _get_info (int, CINFO_STRUCT *);
  441. extern int _set_info (int, CINFO_STRUCT *);
  442.  
  443. /* -------------------------------------------------------------------- */
  444.  
  445. /*
  446.  * iRMX Nucleus interface functions
  447.  */
  448.  
  449. #pragma fixedparams("rqcreatejob","rqecreatejob","rqdeletejob")
  450. #pragma fixedparams("rqoffspring","rqeoffspring","rqcreatetask")
  451. #pragma fixedparams("rqdeletetask","rqgetpriority","rqgettasktokens")
  452. #pragma fixedparams("rqresumetask","rqsetpriority","rqsleep")
  453. #pragma fixedparams("rqsuspendtask","rqcreatemailbox","rqdeletemailbox")
  454. #pragma fixedparams("rqreceivedata","rqreceivemessage","rqsenddata")
  455. #pragma fixedparams("rqsendmessage","rqcreatesemaphore","rqdeletesemaphore")
  456. #pragma fixedparams("rqreceiveunits","rqsendunits","rqcreatesegment")
  457. #pragma fixedparams("rqdeletesegment","rqgetpoolattrib","rqegetpoolattrib")
  458. #pragma fixedparams("rqgetsize","rqsetpoolmin","rqcreatebufferpool")
  459. #pragma fixedparams("rqdeletebufferpool","rqreleasebuffer","rqrequestbuffer")
  460. #pragma fixedparams("rqechangedescriptor","rqecreatedescriptor")
  461. #pragma fixedparams("rqedeletedescriptor","rqcatalogobject")
  462. #pragma fixedparams("rqechangeobjectaccess","rqegetaddress")
  463. #pragma fixedparams("rqegetobjectaccess","rqgettype","rqlookupobject")
  464. #pragma fixedparams("rquncatalogobject","rqgetexceptionhandler")
  465. #pragma fixedparams("rqsetexceptionhandler","rqdisable","rqenable")
  466. #pragma fixedparams("rqendinittask","rqenterinterrupt","rqexitinterrupt")
  467. #pragma fixedparams("rqgetlevel","rqresetinterrupt","rqsetinterrupt")
  468. #pragma fixedparams("rqsignalinterrupt","rqetimedinterrupt")
  469. #pragma fixedparams("rqwaitinterrupt","rqaltercomposite","rqcreatecomposite")
  470. #pragma fixedparams("rqdeletecomposite","rqinspectcomposite")
  471. #pragma fixedparams("rqcreateextension","rqdeleteextension")
  472. #pragma fixedparams("rqdisabledeletion","rqenabledeletion","rqforcedelete")
  473. #pragma fixedparams("rqesetosextension","rqsignalexception","rqacceptcontrol")
  474. #pragma fixedparams("rqcreateregion","rqdeleteregion","rqreceivecontrol")
  475. #pragma fixedparams("rqsendcontrol","rqattachbufferpool","rqattachport")
  476. #pragma fixedparams("rqbroadcast","rqcancel","rqconnect","rqcreateport")
  477. #pragma fixedparams("rqdeleteport","rqdetachbufferpool","rqdetachport")
  478. #pragma fixedparams("rqgethostid","rqgetportattributes","rqreceive")
  479. #pragma fixedparams("rqreceivefragment","rqreceivereply","rqreceivesignal")
  480. #pragma fixedparams("rqsend","rqsendrsvp","rqsendreply","rqsendsignal")
  481. #pragma fixedparams("rqgetinterconnect","rqsetinterconnect","rqesetmaxpriority")
  482.  
  483.  
  484. /* iRMX Nucleus structure usage:
  485.  *
  486.  * ACCESSSTRUCT - rqegetobjectaccess
  487.  * EPOOLATTRIBSTRUCT - rqegetpoolattrib
  488.  * EXCEPTIONSTRUCT - rqcreatejob, rqecreatejob, rqgetexceptionhandler,
  489.  *                    rqsetexceptionhandler
  490.  * GETPORTATTRIBSTRUCT - rqgetportattributes
  491.  * OFFSPRINGSTRUCT - rqeoffspring
  492.  * POOLATTRIBSTRUCT - rqgetpoolattrib
  493.  * RECEIVEINFOSTRUCT - rqreceive
  494.  * REPLYINFOSTRUCT - rqreceivereply
  495.  * TOKENLISTSTRUCT - rqcreatecomposite, rqinspectcomposite
  496.  *
  497.  */
  498.  
  499. extern selector    rqcreatejob(unsigned short,
  500.                             selector,
  501.                             NATIVE_WORD,
  502.                             NATIVE_WORD,
  503.                             unsigned short,
  504.                             unsigned short,
  505.                             unsigned char,
  506.                             EXCEPTIONSTRUCT far *,
  507.                             unsigned short,
  508.                             unsigned char,
  509.                             void (far *)(void),
  510.                             selector,
  511.                             unsigned short far *,
  512.                             NATIVE_WORD,
  513.                             unsigned short,
  514.                             unsigned short far *);
  515.  
  516. extern selector    rqecreatejob(unsigned short,
  517.                             selector,
  518.                             unsigned long,
  519.                             unsigned long,
  520.                             unsigned short,
  521.                             unsigned short,
  522.                             unsigned char,
  523.                             EXCEPTIONSTRUCT far *,
  524.                             unsigned short,
  525.                             unsigned char,
  526.                             void (far *)(void),
  527.                             selector,
  528.                             unsigned short far *,
  529.                             NATIVE_WORD,
  530.                             unsigned short,
  531.                             unsigned short far *);
  532.  
  533. extern void rqdeletejob(selector,
  534.                             unsigned short far *);
  535.  
  536. extern selector    rqoffspring(selector,
  537.                             unsigned short far *);
  538.  
  539. extern void rqeoffspring(selector,
  540.                             OFFSPRINGSTRUCT far *,
  541.                             unsigned short far *);
  542.  
  543. extern selector    rqcreatetask(unsigned char,
  544.                             void (far *)(void),
  545.                             selector,
  546.                             unsigned short far *,
  547.                             NATIVE_WORD,
  548.                             unsigned short,
  549.                             unsigned short far *);
  550.  
  551. extern void rqdeletetask(selector,
  552.                             unsigned short far *);
  553.  
  554. extern unsigned char rqgetpriority(selector,
  555.                             unsigned short far *);
  556.  
  557. extern selector    rqgettasktokens(unsigned char,
  558.                             unsigned short far *);
  559.  
  560. extern void rqresumetask(selector,
  561.                             unsigned short far *);
  562.  
  563. extern void rqsetpriority(selector,
  564.                             unsigned char,
  565.                             unsigned short far *);
  566.  
  567. extern void rqesetmaxpriority(selector,
  568.                             unsigned char,
  569.                             unsigned short far *);
  570.  
  571. extern void rqsleep(unsigned short,
  572.                             unsigned short far *);
  573.  
  574. extern void rqsuspendtask(selector,
  575.                             unsigned short far *);
  576.  
  577. extern selector    rqcreatemailbox(unsigned short,
  578.                             unsigned short far *);
  579.  
  580. extern void rqdeletemailbox(selector,
  581.                             unsigned short far *);
  582.  
  583. extern unsigned short rqreceivedata(selector,
  584.                             char far *,
  585.                             unsigned short,
  586.                             unsigned short far *);
  587.  
  588. extern selector    rqreceivemessage(selector,
  589.                             unsigned short,
  590.                             selector far *,
  591.                             unsigned short far *);
  592.  
  593. extern void rqsenddata(selector,
  594.                             char far *,
  595.                             unsigned short,
  596.                             unsigned short far *);
  597.  
  598. extern void rqsendmessage(selector,
  599.                             selector,
  600.                             selector,
  601.                             unsigned short far *);
  602.  
  603. extern selector    rqcreatesemaphore(unsigned short,
  604.                             unsigned short,
  605.                             unsigned short,
  606.                             unsigned short far *);
  607.  
  608. extern void rqdeletesemaphore(selector,
  609.                             unsigned short far *);
  610.  
  611. extern unsigned short rqreceiveunits(selector,
  612.                             unsigned short,
  613.                             unsigned short,
  614.                             unsigned short far *);
  615.  
  616. extern void rqsendunits(selector,
  617.                             unsigned short,
  618.                             unsigned short far *);
  619.  
  620. extern selector    rqcreatesegment(NATIVE_WORD,
  621.                             unsigned short far *);
  622.  
  623. extern void rqdeletesegment(selector,
  624.                             unsigned short far *);
  625.  
  626. extern void rqgetpoolattrib(POOLATTRIBSTRUCT far *,
  627.                             unsigned short far *);
  628.  
  629. extern void rqegetpoolattrib(EPOOLATTRIBSTRUCT far *,
  630.                             unsigned short far *);
  631.  
  632. extern NATIVE_WORD rqgetsize(selector,
  633.                             unsigned short far *);
  634.  
  635. extern void rqsetpoolmin(unsigned short,
  636.                             unsigned short far *);
  637.  
  638. extern selector    rqcreatebufferpool(unsigned short,
  639.                             unsigned short,
  640.                             unsigned short far *);
  641.  
  642. extern void rqdeletebufferpool(selector,
  643.                             unsigned short far *);
  644.  
  645. extern void rqreleasebuffer(selector,
  646.                             selector,
  647.                             unsigned short,
  648.                             unsigned short far *);
  649.  
  650. extern selector    rqrequestbuffer(selector,
  651.                             unsigned long,
  652.                             unsigned short far *);
  653.  
  654. extern void rqechangedescriptor(selector,
  655.                             unsigned long,
  656.                             NATIVE_WORD,
  657.                             unsigned short far *);
  658.  
  659. extern selector    rqecreatedescriptor(unsigned long,
  660.                             NATIVE_WORD,
  661.                             unsigned short far *);
  662.  
  663. extern void rqedeletedescriptor(selector,
  664.                             unsigned short far *);
  665.  
  666. extern void rqcatalogobject(selector,
  667.                             selector,
  668.                             char far *,
  669.                             unsigned short far *);
  670.  
  671. extern void rqechangeobjectaccess(selector,
  672.                             unsigned char,
  673.                             unsigned char,
  674.                             unsigned short far *);
  675.  
  676. extern unsigned long    rqegetaddress(void far *,
  677.                             unsigned short far *);
  678.  
  679. extern void rqegetobjectaccess(selector,
  680.                             ACCESSSTRUCT far *,
  681.                             unsigned short far *);
  682.  
  683. extern unsigned short rqgettype(selector,
  684.                             unsigned short far *);
  685.  
  686. extern selector    rqlookupobject(selector,
  687.                             char far *,
  688.                             unsigned short,
  689.                             unsigned short far *);
  690.  
  691. extern void rquncatalogobject(selector,
  692.                             char far *,
  693.                             unsigned short far *);
  694.  
  695. extern void rqgetexceptionhandler(EXCEPTIONSTRUCT far *,
  696.                             unsigned short far *);
  697.  
  698. extern void rqsetexceptionhandler(EXCEPTIONSTRUCT far *,
  699.                             unsigned short far *);
  700.  
  701. extern void rqdisable(unsigned short,
  702.                             unsigned short far *);
  703.  
  704. extern void rqenable(unsigned short,
  705.                             unsigned short far *);
  706.  
  707. extern void rqendinittask(void);
  708.  
  709. extern void rqenterinterrupt(unsigned short,
  710.                             unsigned short far *);
  711.  
  712. extern void rqexitinterrupt(unsigned short,
  713.                             unsigned short far *);
  714.  
  715. extern unsigned short rqgetlevel(unsigned short far *);
  716.  
  717. extern void rqresetinterrupt(unsigned short,
  718.                             unsigned short far *);
  719.  
  720. extern void rqsetinterrupt(unsigned short,
  721.                             unsigned char,
  722.                             void (far *)(void),
  723.                             selector,
  724.                             unsigned short far *);
  725.  
  726. extern void rqsignalinterrupt(unsigned short,
  727.                             unsigned short far *);
  728.  
  729. extern void rqetimedinterrupt(unsigned short,
  730.                             unsigned short,
  731.                             unsigned short far *);
  732.  
  733. extern void rqwaitinterrupt(unsigned short,
  734.                             unsigned short far *);
  735.  
  736. extern void rqaltercomposite(selector,
  737.                             selector,
  738.                             unsigned short,
  739.                             selector,
  740.                             unsigned short far *);
  741.  
  742. extern selector    rqcreatecomposite(selector,
  743.                             TOKENLISTSTRUCT far *,
  744.                             unsigned short far *);
  745.  
  746. extern void rqdeletecomposite(selector,
  747.                             selector,
  748.                             unsigned short far *);
  749.  
  750. extern void rqinspectcomposite(selector,
  751.                             selector,
  752.                             TOKENLISTSTRUCT far *,
  753.                             unsigned short far *);
  754.  
  755. extern selector    rqcreateextension(unsigned short,
  756.                             selector,
  757.                             unsigned short far *);
  758.  
  759. extern void rqdeleteextension(selector,
  760.                             unsigned short far *);
  761.  
  762. extern void rqdisabledeletion(selector,
  763.                             unsigned short far *);
  764.  
  765. extern void rqenabledeletion(selector,
  766.                             unsigned short far *);
  767.  
  768. extern void rqforcedelete(selector,
  769.                             selector,
  770.                             unsigned short far *);
  771.  
  772. extern void rqesetosextension(unsigned short,
  773.                             void (far *)(void),
  774.                             unsigned short far *);
  775.  
  776. extern void rqsignalexception(unsigned short,
  777.                             unsigned char,
  778.                             unsigned short,
  779.                             unsigned short,
  780.                             unsigned short,
  781.                             unsigned short far *);
  782.  
  783. extern void rqacceptcontrol(selector,
  784.                             unsigned short far *);
  785.  
  786. extern selector    rqcreateregion(unsigned short,
  787.                             unsigned short far *);
  788.  
  789. extern void rqdeleteregion(selector,
  790.                             unsigned short far *);
  791.  
  792. extern void rqreceivecontrol(selector,
  793.                             unsigned short far *);
  794.  
  795. extern void rqsendcontrol(unsigned short far *);
  796.  
  797. #ifndef _dosrmxh
  798. #define _dosrmxh
  799.  
  800. #pragma fixedparams("rqesetvm86extension","rqedosrequest")
  801.  
  802. extern void rqesetvm86extension(unsigned short,
  803.                             void (far *)(void),
  804.                             void (far *)(void),
  805.                             unsigned short far *);
  806.  
  807. extern void rqedosrequest(DOS_DATA_STRUCT far *,
  808.                             unsigned short,
  809.                             unsigned short far *);
  810.      
  811. #endif
  812.  
  813. extern void rqattachbufferpool(selector,
  814.                             selector,
  815.                             unsigned short far *);
  816.  
  817. extern void rqattachport(selector,
  818.                             selector,
  819.                             unsigned short far *);
  820.  
  821. extern void rqbroadcast(selector,
  822.                             unsigned long,
  823.                             unsigned char far *,
  824.                             unsigned short far *);
  825.  
  826. extern void rqcancel(selector,
  827.                             unsigned short,
  828.                             unsigned short far *);
  829.  
  830. extern void rqconnect(selector,
  831.                             unsigned long,
  832.                             unsigned short far *);
  833.  
  834. extern selector    rqcreateport(unsigned short,
  835.                             void far *,
  836.                             unsigned short far *);
  837.  
  838. extern void rqdeleteport(selector,
  839.                             unsigned short far *);
  840.  
  841. extern selector    rqdetachbufferpool(selector,
  842.                             unsigned short far *);
  843.  
  844. extern void rqdetachport(selector,
  845.                             unsigned short far *);
  846.  
  847. extern unsigned short rqgethostid(unsigned short far *);
  848.  
  849.  
  850. extern void rqgetportattributes(selector,
  851.                             GETPORTATTRIBSTRUCT far *,
  852.                             unsigned short far *);
  853.  
  854. extern unsigned char far *    rqreceive(selector,
  855.                             unsigned short,
  856.                             RECEIVEINFOSTRUCT far *,
  857.                             unsigned short far *);
  858.  
  859. extern void rqreceivefragment(selector,
  860.                             unsigned long,
  861.                             unsigned short,
  862.                             unsigned char far *,
  863.                             unsigned long,
  864.                             unsigned short,
  865.                             unsigned short far *);
  866.  
  867. extern unsigned char far *    rqreceivereply(selector,
  868.                             unsigned short,
  869.                             unsigned short,
  870.                             REPLYINFOSTRUCT far *,
  871.                             unsigned short far *);
  872.  
  873. extern void rqreceivesignal(selector,
  874.                             unsigned short,
  875.                             unsigned short far *);
  876.  
  877. extern unsigned short rqsend(selector,
  878.                             unsigned long,
  879.                             unsigned char far *,
  880.                             unsigned char far *,
  881.                             unsigned long,
  882.                             unsigned short,
  883.                             unsigned short far *);
  884.  
  885. extern unsigned short rqsendrsvp(selector,
  886.                             unsigned long,
  887.                             unsigned char far *,
  888.                             unsigned char far *,
  889.                             unsigned long,
  890.                             unsigned char far *,
  891.                             unsigned long,
  892.                             unsigned short,
  893.                             unsigned short far *);
  894.  
  895. extern unsigned short rqsendreply(selector,
  896.                             unsigned long,
  897.                             unsigned short,
  898.                             unsigned char far *,
  899.                             unsigned char far *,
  900.                             unsigned long,
  901.                             unsigned short,
  902.                             unsigned short far *);
  903.  
  904. extern void rqsendsignal(selector,
  905.                             unsigned short far *);
  906.  
  907. extern unsigned char rqgetinterconnect(unsigned char,
  908.                             unsigned short,
  909.                             unsigned short far *);
  910.  
  911. extern void rqsetinterconnect(unsigned char,
  912.                             unsigned char,
  913.                             unsigned short,
  914.                             unsigned short far *);
  915.  
  916. /* -------------------------------------------------------------------- */
  917.  
  918. /*
  919.  * iRMX BIOS interface functions
  920.  */
  921.  
  922. #pragma fixedparams("rqaattachfile","rqachangeaccess","rqaclose")
  923. #pragma fixedparams("rqacreatedirectory","rqacreatefile")
  924. #pragma fixedparams("rqadeleteconnection","rqadeletefile")
  925. #pragma fixedparams("rqagetconnectionstatus","rqagetdirectoryentry")
  926. #pragma fixedparams("rqagetextensiondata","rqagetfilestatus")
  927. #pragma fixedparams("rqagetpathcomponent","rqaopen","rqaphysicalattachdevice")
  928. #pragma fixedparams("rqaphysicaldetachdevice","rqaread","rqarenamefile")
  929. #pragma fixedparams("rqaseek","rqasetextensiondata","rqaspecial")
  930. #pragma fixedparams("rqatruncate","rqaupdate","rqawrite","rqcreateuser")
  931. #pragma fixedparams("rqdeleteuser","rqencrypt","rqgetdefaultprefix")
  932. #pragma fixedparams("rqgetdefaultuser","rqgetglobaltime","rqgettime")
  933. #pragma fixedparams("rqinspectuser","rqsetdefaultprefix","rqsetdefaultuser")
  934. #pragma fixedparams("rqsetglobaltime","rqsettime","rqwaitio")
  935. #pragma fixedparams("rqinstallduibs")
  936.  
  937. /* iRMX BIOS structure usage:
  938.  *
  939.  * EXTDATASTRUCT - rqasetextensiondata
  940.  * IDSSTRUCT - rqcreateuser, rqinspectuser
  941.  * SETTIMESTRUCT - rqgetglobaltime, rqsetglobaltime
  942.  */
  943.  
  944. extern void rqaattachfile(selector,
  945.                             selector,
  946.                             char far *,
  947.                             selector,
  948.                             unsigned short far *);
  949.  
  950. extern void rqachangeaccess(selector,
  951.                             selector,
  952.                             char far *,
  953.                             unsigned short,
  954.                             unsigned char,
  955.                             selector,
  956.                             unsigned short far *);
  957.  
  958. extern void rqaclose(selector,
  959.                             selector,
  960.                             unsigned short far *);
  961.  
  962. extern void rqacreatedirectory(selector,
  963.                             selector,
  964.                             char far *,
  965.                             unsigned char,
  966.                             selector,
  967.                             unsigned short far *);
  968.  
  969. extern void rqacreatefile(selector,
  970.                             selector,
  971.                             char far *,
  972.                             unsigned char,
  973.                             unsigned short,
  974.                             unsigned long,
  975.                             unsigned char,
  976.                             selector,
  977.                             unsigned short far *);
  978.  
  979. extern void rqadeleteconnection(selector,
  980.                             selector,
  981.                             unsigned short far *);
  982.  
  983. extern void rqadeletefile(selector,
  984.                             selector,
  985.                             char far *,
  986.                             selector,
  987.                             unsigned short far *);
  988.  
  989. extern void rqagetconnectionstatus(selector,
  990.                             selector,
  991.                             unsigned short far *);
  992.  
  993. extern void rqagetdirectoryentry(selector,
  994.                             unsigned short,
  995.                             selector,
  996.                             unsigned short far *);
  997.  
  998. extern void rqagetextensiondata(selector,
  999.                             selector,
  1000.                             unsigned short far *);
  1001.  
  1002. extern void rqagetfilestatus(selector,
  1003.                             selector,
  1004.                             unsigned short far *);
  1005.  
  1006. extern void rqagetpathcomponent(selector,
  1007.                             selector,
  1008.                             unsigned short far *);
  1009.  
  1010. extern void rqaopen(selector,
  1011.                             unsigned char,
  1012.                             unsigned char,
  1013.                             selector,
  1014.                             unsigned short far *);
  1015.  
  1016. extern void rqaphysicalattachdevice(char far *,
  1017.                             unsigned char,
  1018.                             selector,
  1019.                             unsigned short far *);
  1020.  
  1021. extern void rqaphysicaldetachdevice(selector,
  1022.                             unsigned char,
  1023.                             selector,
  1024.                             unsigned short far *);
  1025.  
  1026. extern void rqaread(selector,
  1027.                             unsigned char far *,
  1028.                             NATIVE_WORD,
  1029.                             selector,
  1030.                             unsigned short far *);
  1031.  
  1032. extern void rqarenamefile(selector,
  1033.                             selector,
  1034.                             selector,
  1035.                             char far *,
  1036.                             selector,
  1037.                             unsigned short far *);
  1038.  
  1039. extern void rqaseek(selector,
  1040.                             unsigned char,
  1041.                             unsigned long,
  1042.                             selector,
  1043.                             unsigned short far *);
  1044.  
  1045. extern void rqasetextensiondata(selector,
  1046.                             EXTDATASTRUCT far *,
  1047.                             selector,
  1048.                             unsigned short far *);
  1049.  
  1050. extern void rqaspecial(selector,
  1051.                             unsigned short,
  1052.                             void far *,
  1053.                             selector,
  1054.                             unsigned short far *);
  1055.  
  1056. extern void rqatruncate(selector,
  1057.                             selector,
  1058.                             unsigned short far *);
  1059.  
  1060. extern void rqaupdate(selector,
  1061.                             selector,
  1062.                             unsigned short far *);
  1063.  
  1064. extern void rqawrite(selector,
  1065.                             unsigned char far *,
  1066.                             NATIVE_WORD,
  1067.                             selector,
  1068.                             unsigned short far *);
  1069.  
  1070. extern selector    rqcreateuser(IDSSTRUCT far *,
  1071.                             unsigned short far *);
  1072.  
  1073. extern void rqdeleteuser(selector,
  1074.                             unsigned short far *);
  1075.  
  1076. extern void rqencrypt(char far *,
  1077.                             char far *,
  1078.                             char far *,
  1079.                             unsigned short far *);
  1080.  
  1081. extern selector    rqgetdefaultprefix(selector,
  1082.                             unsigned short far *);
  1083.  
  1084. extern selector    rqgetdefaultuser(selector,
  1085.                             unsigned short far *);
  1086.  
  1087. extern void rqgetglobaltime(SETTIMESTRUCT far *,
  1088.                             unsigned short far *);
  1089.  
  1090. extern unsigned long    rqgettime(unsigned short far *);
  1091.  
  1092. extern void rqinspectuser(selector,
  1093.                             IDSSTRUCT far *,
  1094.                             unsigned short far *);
  1095.  
  1096. extern void rqinstallduibs(unsigned short,
  1097.                             DUIB_TABLE_STRUCT far *,
  1098.                             void far *,
  1099.                             unsigned short far *);
  1100.                             
  1101. extern void rqsetdefaultprefix(selector,
  1102.                             selector,
  1103.                             unsigned short far *);
  1104.  
  1105. extern void rqsetdefaultuser(selector,
  1106.                             selector,
  1107.                             unsigned short far *);
  1108.  
  1109. extern void rqsetglobaltime(SETTIMESTRUCT far *,
  1110.                             unsigned short far *);
  1111.  
  1112. extern void rqsettime(unsigned long,
  1113.                             unsigned short far *);
  1114.  
  1115. extern NATIVE_WORD rqwaitio(selector,
  1116.                             selector,
  1117.                             unsigned short,
  1118.                             unsigned short far *);
  1119.  
  1120. /* -------------------------------------------------------------------- */
  1121.  
  1122. /*
  1123.  * iRMX EIOS interface functions
  1124.  */
  1125.  
  1126. #pragma fixedparams("rqcreateiojob","rqecreateiojob","rqexitiojob")
  1127. #pragma fixedparams("rqgetlogicaldevicestatus","rqgetuserids")
  1128. #pragma fixedparams("rqhybriddetachdevice","rqlogicalattachdevice")
  1129. #pragma fixedparams("rqlogicaldetachdevice","rqstartiojob","rqsattachfile")
  1130. #pragma fixedparams("rqscatalogconnection","rqschangeaccess","rqsclose")
  1131. #pragma fixedparams("rqscreatedirectory","rqscreatefile")
  1132. #pragma fixedparams("rqsdeleteconnection","rqsdeletefile")
  1133. #pragma fixedparams("rqsgetconnectionstatus","rqsgetdirectoryentry")
  1134. #pragma fixedparams("rqsgetfilestatus","rqsgetpathcomponent")
  1135. #pragma fixedparams("rqslookupconnection","rqsopen","rqsreadmove")
  1136. #pragma fixedparams("rqsrenamefile","rqsseek","rqsspecial","rqstruncatefile")
  1137. #pragma fixedparams("rqsuncatalogconnection","rqswritemove","rqverifyuser")
  1138.  
  1139. /* iRMX EIOS structure usage:
  1140.  *
  1141.  * CONNECTIONINFOSTRUCT - rqsgetconnectionstatus
  1142.  * DEVINFOSTRUCT - rqgetlogicaldevicestatus
  1143.  * HANDLERPTRSTRUCT - (used by EXCEPTIONSTRUCT)
  1144.  * EXCEPTIONSTRUCT - rqcreateiojob, rqecreateiojob
  1145.  * IDSSTRUCT - rqgetuserids
  1146.  * IORSSTRUCT - rqsspecial
  1147.  * SFILESTATUSSTRUCT - rqsgetfilestatus
  1148.  */
  1149.  
  1150. extern selector    rqcreateiojob(NATIVE_WORD,
  1151.                             NATIVE_WORD,
  1152.                             EXCEPTIONSTRUCT far *,
  1153.                             unsigned short,
  1154.                             unsigned char,
  1155.                             void (far *)(void),
  1156.                             selector,
  1157.                             unsigned short far *,
  1158.                             NATIVE_WORD,
  1159.                             unsigned short,
  1160.                             selector,
  1161.                             unsigned short far *);
  1162.  
  1163. extern selector    rqecreateiojob(unsigned long,
  1164.                             unsigned long,
  1165.                             EXCEPTIONSTRUCT far *,
  1166.                             unsigned short,
  1167.                             unsigned char,
  1168.                             void (far *)(void),
  1169.                             selector,
  1170.                             unsigned short far *,
  1171.                             NATIVE_WORD,
  1172.                             unsigned short,
  1173.                             selector,
  1174.                             unsigned short far *);
  1175.  
  1176. extern void rqexitiojob(unsigned short,
  1177.                             char far *,
  1178.                             unsigned short far *);
  1179.  
  1180. extern void rqgetlogicaldevicestatus(char far *,
  1181.                             DEVINFOSTRUCT far *,
  1182.                             unsigned short far *);
  1183.  
  1184. extern void rqgetuserids(char far *,
  1185.                             IDSSTRUCT far *,
  1186.                             unsigned short far *);
  1187.  
  1188. extern void rqhybriddetachdevice(char far *,
  1189.                             unsigned short far *);
  1190.  
  1191. extern void rqlogicalattachdevice(char far *,
  1192.                             char far *,
  1193.                             unsigned char,
  1194.                             unsigned short far *);
  1195.  
  1196. extern void rqlogicaldetachdevice(char far *,
  1197.                             unsigned short far *);
  1198.  
  1199. extern void rqstartiojob(selector,
  1200.                             unsigned short far *);
  1201.  
  1202. extern selector    rqsattachfile(char far *,
  1203.                             unsigned short far *);
  1204.  
  1205. extern void rqscatalogconnection(selector,
  1206.                             selector,
  1207.                             char far *,
  1208.                             unsigned short far *);
  1209.  
  1210. extern void rqschangeaccess(char far *,
  1211.                             unsigned short,
  1212.                             unsigned char,
  1213.                             unsigned short far *);
  1214.  
  1215. extern void rqsclose(selector,
  1216.                             unsigned short far *);
  1217.  
  1218. extern selector    rqscreatedirectory(char far *,
  1219.                             unsigned short far *);
  1220.  
  1221. extern selector    rqscreatefile(char far *,
  1222.                             unsigned short far *);
  1223.  
  1224. extern void rqsdeleteconnection(selector,
  1225.                             unsigned short far *);
  1226.  
  1227. extern void rqsdeletefile(char far *,
  1228.                             unsigned short far *);
  1229.  
  1230. extern void rqsgetconnectionstatus(selector,
  1231.                             CONNECTIONINFOSTRUCT far *,
  1232.                             unsigned short far *);
  1233.  
  1234. extern void rqsgetdirectoryentry(char far *,
  1235.                             unsigned short,
  1236.                             char far *,
  1237.                             unsigned short far *);
  1238.  
  1239. extern void rqsgetfilestatus(char far *,
  1240.                             SFILESTATUSSTRUCT far *,
  1241.                             unsigned short far *);
  1242.  
  1243. extern void rqsgetpathcomponent(selector,
  1244.                             char far *,
  1245.                             unsigned short far *);
  1246.  
  1247. extern selector    rqslookupconnection(char far *,
  1248.                             unsigned short far *);
  1249.  
  1250. extern void rqsopen(selector,
  1251.                             unsigned char,
  1252.                             unsigned char,
  1253.                             unsigned short far *);
  1254.  
  1255. extern NATIVE_WORD rqsreadmove(selector,
  1256.                             unsigned char far *,
  1257.                             NATIVE_WORD,
  1258.                             unsigned short far *);
  1259.  
  1260.  
  1261. extern void rqsrenamefile(char far *,
  1262.                             char far *,
  1263.                             unsigned short far *);
  1264.  
  1265. extern void rqsseek(selector,
  1266.                             unsigned char,
  1267.                             unsigned long,
  1268.                             unsigned short far *);
  1269.  
  1270. extern void rqsspecial(selector,
  1271.                             unsigned short,
  1272.                             void far *,
  1273.                             IORSSTRUCT far *,
  1274.                             unsigned short far *);
  1275.  
  1276. extern void rqstruncatefile(selector,
  1277.                             unsigned short far *);
  1278.  
  1279. extern void rqsuncatalogconnection(selector,
  1280.                             char far *,
  1281.                             unsigned short far *);
  1282.  
  1283. extern NATIVE_WORD rqswritemove(selector,
  1284.                             unsigned char far *,
  1285.                             NATIVE_WORD,
  1286.                             unsigned short far *);
  1287.  
  1288. extern void rqverifyuser(selector,
  1289.                             char far *,
  1290.                             char far *,
  1291.                             unsigned short far *);
  1292.  
  1293. /* -------------------------------------------------------------------- */
  1294.  
  1295. /*
  1296.  * iRMX Application Loader interface functions
  1297.  */
  1298.  
  1299. #pragma fixedparams("rqaload","rqaloadiojob","rqealoadiojob")
  1300. #pragma fixedparams("rqesloadiojob","rqsloadiojob","rqsoverlay")
  1301.  
  1302. /* iRMX Application Loader structure usage:
  1303.  *
  1304.  * HANDLERPTRSTRUCT - (used by EXCEPTIONSTRUCT)
  1305.  * EXCEPTIONSTRUCT - rqaloadiojob, rqealoadiojob, rqesloadiojob,
  1306.  *                    rqsloadiojob
  1307.  */
  1308.  
  1309. extern void rqaload(selector,
  1310.                             selector,
  1311.                             unsigned short far *);
  1312.  
  1313. extern selector    rqaloadiojob(selector,
  1314.                             NATIVE_WORD,
  1315.                             NATIVE_WORD,
  1316.                             EXCEPTIONSTRUCT far *,
  1317.                             unsigned short,
  1318.                             unsigned char,
  1319.                             unsigned short,
  1320.                             selector,
  1321.                             unsigned short far *);
  1322.  
  1323. extern selector    rqealoadiojob(selector,
  1324.                             unsigned long,
  1325.                             unsigned long,
  1326.                             EXCEPTIONSTRUCT far *,
  1327.                             unsigned short,
  1328.                             unsigned char,
  1329.                             unsigned short,
  1330.                             selector,
  1331.                             unsigned short far *);
  1332.  
  1333. extern selector    rqesloadiojob(char far *,
  1334.                             unsigned long,
  1335.                             unsigned long,
  1336.                             EXCEPTIONSTRUCT far *,
  1337.                             unsigned short,
  1338.                             unsigned char,
  1339.                             unsigned short,
  1340.                             selector,
  1341.                             unsigned short far *);
  1342.  
  1343. extern selector    rqsloadiojob(char far *,
  1344.                             NATIVE_WORD,
  1345.                             NATIVE_WORD,
  1346.                             EXCEPTIONSTRUCT far *,
  1347.                             unsigned short,
  1348.                             unsigned char,
  1349.                             unsigned short,
  1350.                             selector,
  1351.                             unsigned short far *);
  1352.  
  1353. extern void rqsoverlay(char far *,
  1354.                             unsigned short far *);
  1355.  
  1356. /* -------------------------------------------------------------------- */
  1357.  
  1358. /*
  1359.  * iRMX Human Interface interface functions
  1360.  */
  1361.  
  1362. #pragma fixedparams("rqcbackupchar","rqccreatecommandconnection")
  1363. #pragma fixedparams("rqcdeletecommandconnection","rqcformatexception")
  1364. #pragma fixedparams("rqcgetchar","rqcgetcommandname","rqcgetinputconnection")
  1365. #pragma fixedparams("rqcgetinputpathname","rqcgetinputpathnamenowc")
  1366. #pragma fixedparams("rqcgetoutputconnection","rqcgetoutputpathname")
  1367. #pragma fixedparams("rqcgetparameter","rqcsendcommand","rqcsendcoresponse")
  1368. #pragma fixedparams("rqcsendeoresponse","rqcsetcontrolc","rqcsetparsebuffer")
  1369.  
  1370. /* iRMX Human Interface structure usage:
  1371.  *
  1372.  * PLMSTRINGSTRUCT - (used by STRINGTABLESTRUCT)
  1373.  * STRINGTABLESTRUCT - rqcgetparameter
  1374.  */
  1375.  
  1376. extern void rqcbackupchar(unsigned short far *);
  1377.  
  1378.  
  1379. extern selector    rqccreatecommandconnection(selector,
  1380.                             selector,
  1381.                             unsigned short,
  1382.                             unsigned short far *);
  1383.  
  1384. extern void rqcdeletecommandconnection(selector,
  1385.                             unsigned short far *);
  1386.  
  1387. extern void rqcformatexception(char far *,
  1388.                             unsigned short,
  1389.                             unsigned short,
  1390.                             unsigned char,
  1391.                             unsigned short far *);
  1392.  
  1393. extern char rqcgetchar(unsigned short far *);
  1394.  
  1395. extern void rqcgetcommandname(char far *,
  1396.                             unsigned short,
  1397.                             unsigned short far *);
  1398.  
  1399. extern selector    rqcgetinputconnection(char far *,
  1400.                             unsigned short far *);
  1401.  
  1402. extern void rqcgetinputpathname(char far *,
  1403.                             unsigned short,
  1404.                             unsigned short far *);
  1405.  
  1406. extern void rqcgetinputpathnamenowc(char far *,
  1407.                             unsigned short,
  1408.                             unsigned short far *);
  1409.  
  1410. extern selector    rqcgetoutputconnection(char far *,
  1411.                             unsigned char,
  1412.                             unsigned short far *);
  1413.  
  1414. extern unsigned char rqcgetoutputpathname(char far *,
  1415.                             unsigned short,
  1416.                             char far *,
  1417.                             unsigned short far *);
  1418.  
  1419. extern unsigned char rqcgetparameter(char far *,
  1420.                             unsigned short,
  1421.                             STRINGTABLESTRUCT far *,
  1422.                             unsigned short,
  1423.                             unsigned char far *,
  1424.                             STRINGTABLESTRUCT far *,
  1425.                             unsigned short far *);
  1426.  
  1427. extern void rqcsendcommand(selector,
  1428.                             char far *,
  1429.                             unsigned short far *,
  1430.                             unsigned short far *);
  1431.  
  1432. extern void rqcsendcoresponse(char far *,
  1433.                             unsigned short,
  1434.                             char far *,
  1435.                             unsigned short far *);
  1436.  
  1437. extern void rqcsendeoresponse(char far *,
  1438.                             unsigned short,
  1439.                             char far *,
  1440.                             unsigned short far *);
  1441.  
  1442. extern void rqcsetcontrolc(selector,
  1443.                             unsigned short far *);
  1444.  
  1445. extern unsigned short rqcsetparsebuffer(char far *,
  1446.                             unsigned short,
  1447.                             unsigned short far *);
  1448.  
  1449. #endif /* _rmxc.h */
  1450. #endif /* _rmx_c.h */
  1451.