|
|
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: 3547 (0xddb)
Types: TextFile
Names: »rosy.h«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦e83f91978⟧ »EurOpenD22/isode/osimis-2.0.tar.Z«
└─⟦d846658bd⟧
└─⟦this⟧ »osimis/misode/h/rosy.h«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z«
└─⟦de7628f85⟧
└─⟦this⟧ »isode-6.0/h/rosy.h«
/* rosy.h - include file for ROSY users */
/*
* $Header: /f/osi/h/RCS/rosy.h,v 7.0 89/11/23 21:55:57 mrose Rel $
*
*
* $Log: rosy.h,v $
* Revision 7.0 89/11/23 21:55:57 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 _ROSY_
#define _ROSY_
#ifndef _MANIFEST_
#include "manifest.h"
#endif
#ifndef _GENERAL_
#include "general.h"
#endif
#ifndef _RoSAP_
#include "rosap.h" /* definitions for RoS-USERs */
#endif
/* \f
*/
struct RyOperation {
char *ryo_name; /* operation name */
int ryo_op; /* operation code */
IFP ryo_arg_encode; /* encodes argument */
IFP ryo_arg_decode; /* decodes .. */
IFP ryo_arg_free; /* frees .. */
int ryo_result; /* result possible */
IFP ryo_res_encode; /* encodes result */
IFP ryo_res_decode; /* decodes .. */
IFP ryo_res_free; /* frees .. */
struct RyError **ryo_errors;/* errors possible */
};
struct RyOperation *findopbyop (), *findopbyname ();
struct RyError {
char *rye_name; /* error name */
int rye_err; /* error code */
IFP rye_param_encode; /* encodes parameter */
IFP rye_param_decode; /* decodes .. */
IFP rye_param_free; /* frees .. */
};
struct RyError *finderrbyerr (), *finderrbyname ();
/* \f
*/
struct opsblk {
struct opsblk *opb_forw; /* doubly-linked list */
struct opsblk *opb_back; /* .. */
short opb_flags; /* our state */
#define OPB_NULL 0x0000
#define OPB_EVENT 0x0001 /* event present */
#define OPB_INITIATOR 0x0002 /* initiator block */
#define OPB_RESPONDER 0x0004 /* responder block */
int opb_fd; /* association descriptor */
int opb_id; /* invoke ID */
IFP opb_resfnx; /* result vector */
IFP opb_errfnx; /* error vector */
struct RyOperation *opb_ryo;/* entry in operation table */
struct RoSAPindication opb_event; /* resulting event */
caddr_t opb_out; /* event parameter */
IFP opb_free; /* free routine for event parameter */
PE opb_pe; /* for Simon */
};
#define NULLOPB ((struct opsblk *) 0)
int freeopblk (), loseopblk ();
struct opsblk *newopblk (), *findopblk (), *firstopblk ();
struct dspblk {
struct dspblk *dsb_forw; /* doubly-linked list */
struct dspblk *dsb_back; /* .. */
int dsb_fd; /* association descriptor */
/* NOTOK-valued is wildcard for RyWait */
struct RyOperation *dsb_ryo;/* entry in operation table */
IFP dsb_vector; /* dispatch vector */
};
#define NULLDSB ((struct dspblk *) 0)
int freedsblk (), losedsblk ();
struct dspblk *newdsblk (), *finddsblk ();
#define RY_RESULT (-1) /* distinguishes RESULTs from ERRORs */
#define RY_REJECT (-2) /* distinguishes REJECTs from ERRORs */
/* \f
*/
int RyWait (); /* WAIT */
/* Initiator */
int RyStub (); /* STUB */
#define ROS_INTR 2 /* invoke stub but return on interrupt */
int RyDiscard (); /* DISCARD */
int RyOperation (); /* OPERATION */
int RyOpInvoke (); /* INVOKE */
int RyGenID (); /* generate unique invoke ID */
/* Responder */
int RyDispatch (); /* DISPATCH */
int RyDsResult (); /* RESULT */
int RyDsError (); /* ERROR */
int RyDsUReject (); /* U-REJECT */
int RyLose (); /* clean-up after association termination */
#endif