home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) 1994 by Oracle Corporation. All Rights Reserved.
- *
- * mnrs.h - OMN Remote Procedure Call Server-Side Public Interface
- *
- * DESCRIPTION
- * Related man pages are mnrAddComp(3), mnrAllow(3), mnrCreateServer(3),
- * mnrCtxCreate(3), mnrDestroyServer(3), mnrGetAddr(3), mnrGetNextCall(3),
- * mnrGetPeer(3), mnrListen(3), mnrMainLoop(3), mnrRegister(3), and
- * mnrReturnCall(3).
- *
- * REVISIONS
- * jolkin 08/08/94 Creation of Version 2.1
- * jolkin 05/05/94 Creation
- */
-
- #ifndef MNRS_ORACLE
- #define MNRS_ORACLE
-
- #ifndef SYSX_ORACLE
- #include <sysx.h>
- #endif
- #ifndef MN_ORACLE
- #include <mn.h>
- #endif
- #ifndef MNR_ORACLE
- #include <mnr.h>
- #endif
-
- EXTC_START
-
- /* RPC server-side type definitions */
- typedef struct mnrcd mnrcd; /* component descriptor */
- typedef struct mnrod mnrod; /* operation descriptor */
- typedef struct mnrs mnrs; /* server handle */
- typedef struct mnrsc mnrsc; /* call handle */
-
- /* component descriptor */
- /* DISABLE check_naming */
- struct mnrcd
- {
- const mnrid *cid; /* component identifier */
- ub2 noper; /* number of operations in array */
- const mnrod *opers; /* array of operation pointers */
- const char *nm; /* name of component */
- };
-
- /* operation descriptor */
- struct mnrod
- {
- void (*oper)(mnrsc *, mnbv *, ub4); /* operation */
- const char *nm; /* name of operation */
- };
- /* ENABLE check_naming */
-
- /* server handle manipulation */
- mnrs *mnrCreateServer(const mnrid *, ub4, const mnrcd **, dvoid *);
- void mnrDestroyServer(mnrs *);
- sb4 mnrRegister(mnrs *, const char *, boolean);
- sb4 mnrUnregister(mnrs *);
- void mnrGetAddr(mnrs *, mna *);
- dvoid *mnrGetUsrp(mnrs *);
- mnp *mnrGetServerPort(mnrs *);
- sb4 mnrAddComp(mnrs *, const mnrcd *, dvoid *);
- sb4 mnrRemComp(mnrs *, const mnrid *);
- dvoid *mnrGetCompUsrp(mnrs *, const mnrid *);
- sb4 mnrMainLoop(mnrs *);
- void mnrTermLoop(mnrs *, sb4);
-
- /* call handle manipulation */
- sb4 mnrListen(mnrs *, ub4, mnHandler, dvoid *);
- void mnrAllow(mnrs *);
- void mnrDisallow(mnrs *);
- mnrsc *mnrGetNextCall(mnrs *);
- boolean mnrDispatchCall(mnrsc *);
- sb4 mnrReturnCall(mnrsc *, mnbv *, ub4, mnHandler, dvoid *);
- void mnrGetPeer(mnrsc *, mna *);
- mnrs *mnrGetHandle(mnrsc *);
-
- /* client context manipulation */
- sb4 mnrCtxCreate(mnrsc *, dvoid *, void (*)(mnrsc *, mnbv *, ub4));
- void mnrCtxDestroy(mnrsc *);
- dvoid *mnrCtxGet(mnrsc *);
- ub4 mnrCtxId(mnrsc *);
- dvoid *mnrConvertId(mnrs *sh, ub4 id);
-
- EXTC_END
- #endif /* MNRS_ORACLE */
-