|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T r
Length: 5497 (0x1579)
Types: TextFile
Names: »ropkt.h«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦e83f91978⟧ »EurOpenD22/isode/osimis-2.0.tar.Z«
└─⟦d846658bd⟧
└─⟦this⟧ »osimis/misode/h/ropkt.h«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z«
└─⟦de7628f85⟧
└─⟦this⟧ »isode-6.0/h/ropkt.h«
/* ropkt.h - include file for remote operation providers (RoS-PROVIDER) */
/*
* $Header: /f/osi/h/RCS/ropkt.h,v 7.0 89/11/23 21:55:55 mrose Rel $
*
* Based on an TCP-based implementation by George Michaelson of University
* College London.
*
*
* $Log: ropkt.h,v $
* Revision 7.0 89/11/23 21:55:55 mrose
* Release 6.0
*
*/
/*
* NOTICE
*
* Acquisition, use, and distribution of this module and related
* materials are subject to the restrictions of a license agreement.
* Consult the Preface in the User's Manual for the full terms of
* this agreement.
*
*/
#ifndef _RoSAP_
#include "rosap.h" /* definitions for RoS-USERs */
#endif
#include "acpkt.h" /* definitions for AcS-PROVIDERs */
#ifndef _RtSAP_
#include "rtsap.h" /* definitions for RtS-USERs */
#endif
#ifndef _PSAP2_
#include "psap2.h" /* definitions for PS-USERs */
#endif
#ifndef _SSAP_
#include "ssap.h" /* definitions for SS-USERs */
#endif
/* \f
*/
#define rosapPsig(acb, sd) \
{ \
if ((acb = findacblk (sd)) == NULL) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_PARAMETER, NULLCP, \
"invalid association descriptor"); \
} \
if (!(acb -> acb_flags & ACB_CONN)) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"association descriptor not connected"); \
} \
if (acb -> acb_flags & ACB_CLOSING) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_WAITING, NULLCP, NULLCP); \
} \
if (acb -> acb_flags & ACB_FINN) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"association descriptor finishing"); \
} \
if (acb -> acb_putosdu == NULLIFP) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"association descriptor not bound"); \
} \
}
#define rosapXsig(acb, sd) \
{ \
if ((acb = findacblk (sd)) == NULL) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_PARAMETER, NULLCP, \
"invalid association descriptor"); \
} \
if (!(acb -> acb_flags & ACB_CONN)) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"association descriptor not connected"); \
} \
if (acb -> acb_flags & ACB_FINN) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"association descriptor finishing"); \
} \
if (acb -> acb_putosdu == NULLIFP) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"association descriptor not bound"); \
} \
}
#define rosapFsig(acb, sd) \
{ \
if ((acb = findacblk (sd)) == NULL) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_PARAMETER, NULLCP, \
"invalid association descriptor"); \
} \
if (!(acb -> acb_flags & ACB_ROS)) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"not an association descriptor for ROS"); \
} \
if (!(acb -> acb_flags & ACB_CONN)) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"association descriptor not connected"); \
} \
if (!(acb -> acb_flags & ACB_FINN)) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"association descriptor not finishing"); \
} \
if (acb -> acb_putosdu == NULLIFP) { \
(void) sigiomask (smask); \
return rosaplose (roi, ROS_OPERATION, NULLCP, \
"association descriptor not bound"); \
} \
}
#define missingP(p) \
{ \
if (p == NULL) \
return rosaplose (roi, ROS_PARAMETER, NULLCP, \
"mandatory parameter \"%s\" missing", "p"); \
}
#ifndef lint
#ifndef __STDC__
#define copyRoSAPdata(base,len,d) \
{ \
register int i = len; \
if ((d -> d/* */_cc = min (i, sizeof d -> d/* */_data)) > 0) \
bcopy (base, d -> d/* */_data, d -> d/* */_cc); \
}
#else
#define copyRoSAPdata(base,len,d) \
{ \
register int i = len; \
if ((d -> d##_cc = min (i, sizeof d -> d##_data)) > 0) \
bcopy (base, d -> d##_data, d -> d##_cc); \
}
#endif
#else
#define copyRoSAPdata(base,len,d) bcopy (base, (char *) d, len)
#endif
#define pylose() \
ropktlose (acb, roi, ROS_PROTOCOL, NULLCP, "%s", PY_pepy)
int ropktlose (), rosapreject (), rosaplose ();
/* \f
*/
int acb2osdu ();
int ro2rtswrite (), ro2rtswait (), ro2rtsready (), ro2rtsasync (),
ro2rtsmask ();
int ro2pswrite (), ro2pswait (), ro2psasync (), ro2psmask ();
int ss2roslose (), ss2rosabort ();
int ro2sswrite (), ro2sswait (), ro2ssasync (), ro2ssmask (), ro2sslose (),
ro2ssready ();
/* \f
*/
/* APDU types */
#define APDU_INVOKE 1 /* Invoke */
#define APDU_RESULT 2 /* Return result */
#define APDU_ERROR 3 /* Return error */
#define APDU_REJECT 4 /* Reject */
#define APDU_UNKNOWN (-1) /* anything other than the above */
/* Reject APDU types */
#define REJECT_GENERAL 0 /* General Problem */
#define REJECT_GENERAL_BASE ROS_GP_UNRECOG
#define REJECT_INVOKE 1 /* Invoke Problem */
#define REJECT_INVOKE_BASE ROS_IP_DUP
#define REJECT_RESULT 2 /* Return Result Problem */
#define REJECT_RESULT_BASE ROS_RRP_UNRECOG
#define REJECT_ERROR 3 /* Return Error Problem */
#define REJECT_ERROR_BASE ROS_REP_UNRECOG
#define REJECT_COMPLETE 4 /* more Invoke Problem codes */
extern int rosap_operation;
extern int rosap_error;
extern int rosap_type;
extern int rosap_id;
extern int rosap_null;
extern int rosap_linked;
extern int rosap_lnull;
extern PE rosap_data;
extern int rosap_reason;