home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) 1994 by Oracle Corporation. All Rights Reserved.
- *
- * mnnio.h - OMN Network Interface Objects
- *
- * DESCRIPTION
- * Related man pages are mnnPushBuf(4), mnnPullbuf(4), mnnio(4), and
- * mnnio_intro(4).
- *
- * REVISIONS
- * jolkin 08/19/94 Creation of Version 2.1
- * jolkin 04/20/94 Creation of Version 2.0
- */
-
- #ifndef MNNIO_ORACLE
- #define MNNIO_ORACLE
-
- #ifndef SYSX_ORACLE
- #include <sx.h>
- #endif
- #ifndef MN_ORACLE
- #include <mn.h>
- #endif
-
- EXTC_START
-
- /* DISABLE check_naming */
- /* physical address */
- struct mnnpa
- {
- char family[4]; /* address family */
- ub1 addr[20]; /* family-specific address */
- };
-
- /* interface object flags */
- #define MNNFLG_SEND 0x00000001
- #define MNNFLG_RECV 0x00000002
- #define MNNFLG_CKSM 0x00000004
- #define MNNFLG_INTR 0x00000008
- #define MNNFLG_CIRC 0x00000010
- #define MNNFLG_DTR 0x00010000
-
- /* minimum packet length */
- #define MNNPKTMIN 96
-
- /* network interface object */
- struct mnnio
- {
- mnnpa pa; /* physical address */
-
- size_t pktmax; /* maximum packet size */
-
- sb4 (*send)(mnnio *, mnnpa *, ub1 *, size_t);
- sb4 (*recv)(mnnio *, mnnpa *, ub1 *, size_t, boolean, ub4);
- void (*close)(mnnio *);
-
- ub4 flags; /* flags bitfield */
-
- dvoid *usrp; /* user context */
- dvoid *priv; /* reserved for Media Net */
- };
- /* ENABLE check_naming */
-
- /* network layer routines */
- sb4 mnnPullBuf(mnnio *, mnnpa *, ub1 *, size_t);
- sb4 mnnTestBuf(mnnio *);
- void mnnPushBuf(mnnio *, mnnpa *, ub1 *, size_t);
-
- void mnnSubnet(mnnio *, mna *);
- void mnnTrace(const char *, ub1 *, size_t);
-
- void mnnTeardown(mnnio *, mnHandler, dvoid *);
-
- EXTC_END
- #endif /* MNNIO_ORACLE */
-