home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) 1994 by Oracle Corporation. All Rights Reserved.
- *
- * mnt.h - OMN Transport Layer
- *
- * DESCRIPTION
- * Related man pages are mnOpen(3), mnClose(3), mnGetAddr(3), mnGetOptions(3),
- * mnSend(3), mnRecv(3), mnListen(3), mnAccept(3), mnConnect(3), mnRead(3),
- * and mnWrite(3).
- *
- * REVISIONS
- * jolkin 08/19/94 Creation of Version 2.1
- * jolkin 04/20/94 Creation of Version 2.0
- */
-
- #ifndef MNT_ORACLE
- #define MNT_ORACLE
-
- #ifndef SYSX_ORACLE
- #include <sysx.h>
- #endif
- #ifndef MN_ORACLE
- #include <mn.h>
- #endif
-
- EXTC_START
-
- /* Protocols */
- #define MNPROTO_OCP ((ub4) 0)/* control protocol (reserved to Media Net) */
- #define MNPROTO_MESSAGE ((ub4) 1) /* message protocol */
- #define MNPROTO_STREAM ((ub4) 2) /* stream protocol */
- #define MNPROTO_BLOB ((ub4) 3) /* blob protocol */
- #define MNPROTO_MAX ((ub4) 4) /* maximum protocol + 1 */
-
- /* Type declarations */
- typedef struct mnp mnp; /* port descriptor */
-
- /* Port options */
- #define MNOPT_NONBLOCK ((ub4) 0x00000001) /* non-blocking mode */
-
- /* General port routines */
- mnp *mnOpen(ub4);
- sb4 mnClose(mnp *);
-
- void mnGetAddr(mnp *, mna *);
- sb4 mnGetPeer(mnp *, mna *);
-
- void mnSetOptions(mnp *, ub4);
- ub4 mnGetOptions(mnp *);
-
- sb4 mnBind(mnp *, mna *);
-
- sb4 mnBlobRecv(ub1 * (*)(dvoid *, size_t, ub4, ub4),
- void (*)(dvoid *, sb4), dvoid *, ub1 *, ub4 *);
- dvoid *mnBlobPrepare(ub1 *, ub4, ub4, mnHandler, dvoid *, mna *);
- sb4 mnBlobSend(dvoid *, ub1 *, ub4 *);
-
- /* Message-based port routines */
- sb4 mnSend(mnp *, mna *, ub1 *, size_t, mnHandler, dvoid *);
- sb4 mnSendV(mnp *, mna *, mnbv *, ub4, mnHandler, dvoid *);
- sb4 mnRecv(mnp *, mna *, ub1 *, size_t, ub4, mnHandler, dvoid *);
- sb4 mnRecvV(mnp *, mna *, mnbv *, ub4, ub4, mnHandler, dvoid *);
- #define mnRecvWait(port, from, timeout, handler, usrp) \
- mnRecvV(port, from, (mnbv *) 0, (ub4) 0, timeout, handler, usrp)
- sb4 mnRecvTest(mnp *, mna *);
-
- /* Stream-based port routines */
- sb4 mnListen(mnp *, ub4, mnHandler, dvoid *);
- mnp *mnAccept(mnp *);
- sb4 mnConnect(mnp *, mna *);
- sb4 mnRead(mnp *, ub1 *, size_t, boolean, ub4, mnHandler, dvoid *);
- sb4 mnWrite(mnp *, ub1 *, size_t);
-
- EXTC_END
- #endif /* MNT_ORACLE */
-