home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) 1994 by Oracle Corporation. All Rights Reserved.
- *
- * mn.h - Media Net Global Definitions
- *
- * DESCRIPTION
- * Related man pages are mnInit(3), mnTerm(3), mnVersion(3), mnTimer(3),
- * mnIdle(3), mnDiscard(3), and mnSetSndBuf(3).
- *
- * REVISIONS
- * jolkin 08/21/94 Creation of Version 2.1
- * jolkin 04/20/94 Creation of Version 2.0
- */
-
- #ifndef MN_ORACLE
- #define MN_ORACLE
-
- #ifndef SYSX_ORACLE
- #include <sysx.h>
- #endif
-
- EXTC_START
-
- /* Global type definitions */
- typedef struct mna mna; /* Media Net address */
- typedef struct mnbv mnbv; /* buffer vector element */
- typedef struct mnnpa mnnpa; /* physical address */
- typedef struct mnnio mnnio; /* network interface object */
-
- typedef void (*mnHandler)(dvoid *, sb4); /* asynchronous handler */
-
- typedef dvoid *(*mnAlloc)(size_t); /* callback for allocation */
- typedef void (*mnFree)(dvoid *ptr); /* callback for deallocation */
-
- typedef sb4 (*mnSpin)(dvoid *); /* busy-wait routine */
- typedef void (*mnLogger)(const char *); /* logging routine */
-
- /* constant definitions */
- #define MNFLG_FORWARD ((ub4) 0x00010000)
- #define MNFLG_TRACE ((ub4) 0x00020000)
-
- /* buffer vector element */
- /* DISABLE check_naming */
- struct mnbv
- {
- size_t len; /* length of buffer */
- ub1 *buf; /* pointer to buffer */
- };
- /* ENABLE check_naming */
-
- /* initialization routines */
- void mnInit(ub4, mnLogger, mnnio **, ub4, mnnpa *,
- mnbv *, ub4, mnAlloc, mnFree, mnSpin, dvoid *, ub4);
- void mnTerm(void);
-
- /* environment */
- char *mnVersion(char *, size_t);
- boolean mnAlive(void);
- char *mnGetCwd(void);
-
- /* primitives */
- sb4 mnEcho(mna *, ub4, mnHandler, dvoid *);
- sb4 mnTimer(ub4, mnHandler, dvoid *);
-
- /* execution routines */
- ub4 mnIdle(void);
- void mnWait(ub4);
- void mnSetBusyWait(mnSpin, dvoid *, ub4);
- void mnPostIntr(sb4 sts);
- void mnSetIntrHandler(mnHandler hndlr, dvoid *usrp);
-
- void mnDiscard(dvoid *, sb4);
-
- /* memory routines */
- sb4 mnSetSndBuf(ub4);
- sb4 mnSetRcvBuf(ub4);
-
- /* as a convenience, include other primary headers automatically */
- #ifndef MNERR_ORACLE
- #include <mnerr.h>
- #endif
- #ifndef MNSEM_ORACLE
- #include <mnsem.h>
- #endif
- #ifndef MNA_ORACLE
- #include <mna.h>
- #endif
- #ifndef MNT_ORACLE
- #include <mnt.h>
- #endif
-
- EXTC_END
- #endif /* MN_ORACLE */
-