Annotation of 43BSDReno/contrib/isode-beta/h/ropkt.h, revision 1.1.1.1

1.1       root        1: /* ropkt.h - include file for remote operation providers (RoS-PROVIDER) */
                      2: 
                      3: /* 
                      4:  * $Header: /f/osi/h/RCS/ropkt.h,v 7.1 90/07/01 21:03:53 mrose Exp $
                      5:  *
                      6:  * Based on an TCP-based implementation by George Michaelson of University
                      7:  * College London.
                      8:  *
                      9:  *
                     10:  * $Log:       ropkt.h,v $
                     11:  * Revision 7.1  90/07/01  21:03:53  mrose
                     12:  * pepsy
                     13:  * 
                     14:  * Revision 7.0  89/11/23  21:55:55  mrose
                     15:  * Release 6.0
                     16:  * 
                     17:  */
                     18: 
                     19: /*
                     20:  *                               NOTICE
                     21:  *
                     22:  *    Acquisition, use, and distribution of this module and related
                     23:  *    materials are subject to the restrictions of a license agreement.
                     24:  *    Consult the Preface in the User's Manual for the full terms of
                     25:  *    this agreement.
                     26:  *
                     27:  */
                     28: 
                     29: 
                     30: #ifndef        _RoSAP_
                     31: #include "rosap.h"             /* definitions for RoS-USERs */
                     32: #endif
                     33: 
                     34: #include "acpkt.h"             /* definitions for AcS-PROVIDERs */
                     35: 
                     36: #ifndef        _RtSAP_
                     37: #include "rtsap.h"             /* definitions for RtS-USERs */
                     38: #endif
                     39: 
                     40: #ifndef _PSAP2_
                     41: #include "psap2.h"             /* definitions for PS-USERs */
                     42: #endif
                     43: 
                     44: #ifndef        _SSAP_
                     45: #include "ssap.h"              /* definitions for SS-USERs */
                     46: #endif
                     47: 
                     48: /*  */
                     49: 
                     50: #define        rosapPsig(acb, sd) \
                     51: { \
                     52:     if ((acb = findacblk (sd)) == NULL) { \
                     53:        (void) sigiomask (smask); \
                     54:        return rosaplose (roi, ROS_PARAMETER, NULLCP, \
                     55:                            "invalid association descriptor"); \
                     56:     } \
                     57:     if (!(acb -> acb_flags & ACB_CONN)) { \
                     58:        (void) sigiomask (smask); \
                     59:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                     60:                            "association descriptor not connected"); \
                     61:     } \
                     62:     if (acb -> acb_flags & ACB_CLOSING) { \
                     63:        (void) sigiomask (smask); \
                     64:        return rosaplose (roi, ROS_WAITING, NULLCP, NULLCP); \
                     65:     } \
                     66:     if (acb -> acb_flags & ACB_FINN) { \
                     67:        (void) sigiomask (smask); \
                     68:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                     69:                            "association descriptor finishing"); \
                     70:     } \
                     71:     if (acb -> acb_putosdu == NULLIFP) { \
                     72:        (void) sigiomask (smask); \
                     73:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                     74:                            "association descriptor not bound"); \
                     75:     } \
                     76: }
                     77: 
                     78: #define        rosapXsig(acb, sd) \
                     79: { \
                     80:     if ((acb = findacblk (sd)) == NULL) { \
                     81:        (void) sigiomask (smask); \
                     82:        return rosaplose (roi, ROS_PARAMETER, NULLCP, \
                     83:                            "invalid association descriptor"); \
                     84:     } \
                     85:     if (!(acb -> acb_flags & ACB_CONN)) { \
                     86:        (void) sigiomask (smask); \
                     87:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                     88:                            "association descriptor not connected"); \
                     89:     } \
                     90:     if (acb -> acb_flags & ACB_FINN) { \
                     91:        (void) sigiomask (smask); \
                     92:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                     93:                            "association descriptor finishing"); \
                     94:     } \
                     95:     if (acb -> acb_putosdu == NULLIFP) { \
                     96:        (void) sigiomask (smask); \
                     97:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                     98:                            "association descriptor not bound"); \
                     99:     } \
                    100: }
                    101: 
                    102: #define        rosapFsig(acb, sd) \
                    103: { \
                    104:     if ((acb = findacblk (sd)) == NULL) { \
                    105:        (void) sigiomask (smask); \
                    106:        return rosaplose (roi, ROS_PARAMETER, NULLCP, \
                    107:                            "invalid association descriptor"); \
                    108:     } \
                    109:     if (!(acb -> acb_flags & ACB_ROS)) { \
                    110:        (void) sigiomask (smask); \
                    111:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                    112:                            "not an association descriptor for ROS"); \
                    113:     } \
                    114:     if (!(acb -> acb_flags & ACB_CONN)) { \
                    115:        (void) sigiomask (smask); \
                    116:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                    117:                            "association descriptor not connected"); \
                    118:     } \
                    119:     if (!(acb -> acb_flags & ACB_FINN)) { \
                    120:        (void) sigiomask (smask); \
                    121:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                    122:                            "association descriptor not finishing"); \
                    123:     } \
                    124:     if (acb -> acb_putosdu == NULLIFP) { \
                    125:        (void) sigiomask (smask); \
                    126:        return rosaplose (roi, ROS_OPERATION, NULLCP, \
                    127:                            "association descriptor not bound"); \
                    128:     } \
                    129: }
                    130: 
                    131: #define        missingP(p) \
                    132: { \
                    133:     if (p == NULL) \
                    134:        return rosaplose (roi, ROS_PARAMETER, NULLCP, \
                    135:                            "mandatory parameter \"%s\" missing", "p"); \
                    136: }
                    137: 
                    138: 
                    139: #ifndef        lint
                    140: #ifndef        __STDC__
                    141: #define        copyRoSAPdata(base,len,d) \
                    142: { \
                    143:     register int i = len; \
                    144:     if ((d -> d/* */_cc = min (i, sizeof d -> d/* */_data)) > 0) \
                    145:        bcopy (base, d -> d/* */_data, d -> d/* */_cc); \
                    146: }
                    147: #else
                    148: #define        copyRoSAPdata(base,len,d) \
                    149: { \
                    150:     register int i = len; \
                    151:     if ((d -> d##_cc = min (i, sizeof d -> d##_data)) > 0) \
                    152:        bcopy (base, d -> d##_data, d -> d##_cc); \
                    153: }
                    154: #endif
                    155: #else
                    156: #define        copyRoSAPdata(base,len,d)       bcopy (base, (char *) d, len)
                    157: #endif
                    158: 
                    159: 
                    160: #define        pylose() \
                    161:        ropktlose (acb, roi, ROS_PROTOCOL, NULLCP, "%s", PY_pepy)
                    162: 
                    163: 
                    164: int    ropktlose (), rosapreject (), rosaplose ();
                    165: 
                    166: /*  */
                    167: 
                    168: int    acb2osdu ();
                    169: 
                    170: 
                    171: int    ro2rtswrite (), ro2rtswait (), ro2rtsready (), ro2rtsasync (),
                    172:        ro2rtsmask ();
                    173: 
                    174: 
                    175: int    ro2pswrite (), ro2pswait (), ro2psasync (), ro2psmask ();
                    176: 
                    177: 
                    178: int    ss2roslose (), ss2rosabort ();
                    179: int    ro2sswrite (), ro2sswait (), ro2ssasync (), ro2ssmask (), ro2sslose (),
                    180:        ro2ssready ();
                    181: 
                    182: /*  */
                    183: 
                    184:                                /* APDU types */
                    185: #define        APDU_INVOKE     1       /* Invoke */
                    186: #define        APDU_RESULT     2       /* Return result */
                    187: #define        APDU_ERROR      3       /* Return error */
                    188: #define        APDU_REJECT     4       /* Reject */
                    189: 
                    190: #define        APDU_UNKNOWN    (-1)    /* anything other than the above */
                    191: 
                    192: 
                    193:                                /* Reject APDU types */
                    194: #define        REJECT_GENERAL  0       /* General Problem */
                    195: #define          REJECT_GENERAL_BASE   ROS_GP_UNRECOG
                    196: #define        REJECT_INVOKE   1       /* Invoke Problem */
                    197: #define          REJECT_INVOKE_BASE    ROS_IP_DUP
                    198: #define        REJECT_RESULT   2       /* Return Result Problem */
                    199: #define          REJECT_RESULT_BASE    ROS_RRP_UNRECOG
                    200: #define        REJECT_ERROR    3       /* Return Error Problem */
                    201: #define          REJECT_ERROR_BASE     ROS_REP_UNRECOG
                    202: #define        REJECT_COMPLETE 4       /* more Invoke Problem codes */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.