home *** CD-ROM | disk | FTP | other *** search
/ Oracle Video Server 3.0.3.1 / OVS_3031_NT.iso / win32 / medianet / server / include / mnnio.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-15  |  1.9 KB  |  75 lines

  1. /* Copyright (c) 1994 by Oracle Corporation.  All Rights Reserved.
  2.  *
  3.  * mnnio.h - OMN Network Interface Objects
  4.  *
  5.  * DESCRIPTION
  6.  * Related man pages are mnnPushBuf(4), mnnPullbuf(4), mnnio(4), and
  7.  * mnnio_intro(4).
  8.  *
  9.  * REVISIONS
  10.  * jolkin    08/19/94  Creation of Version 2.1
  11.  * jolkin    04/20/94  Creation of Version 2.0
  12.  */
  13.  
  14. #ifndef MNNIO_ORACLE
  15. #define MNNIO_ORACLE
  16.  
  17. #ifndef SYSX_ORACLE
  18. #include <sx.h>
  19. #endif
  20. #ifndef MN_ORACLE
  21. #include <mn.h>
  22. #endif
  23.  
  24. EXTC_START
  25.  
  26. /* DISABLE check_naming */
  27. /* physical address */
  28. struct mnnpa
  29. {
  30.   char family[4];                                          /* address family */
  31.   ub1  addr[20];                                  /* family-specific address */
  32. };
  33.  
  34. /* interface object flags */
  35. #define MNNFLG_SEND  0x00000001
  36. #define MNNFLG_RECV  0x00000002
  37. #define MNNFLG_CKSM  0x00000004
  38. #define MNNFLG_INTR  0x00000008
  39. #define MNNFLG_CIRC  0x00000010
  40. #define MNNFLG_DTR   0x00010000
  41.  
  42. /* minimum packet length */
  43. #define MNNPKTMIN    96
  44.  
  45. /* network interface object */
  46. struct mnnio
  47. {
  48.   mnnpa  pa;                                             /* physical address */
  49.  
  50.   size_t pktmax;                                      /* maximum packet size */
  51.  
  52.   sb4  (*send)(mnnio *, mnnpa *, ub1 *, size_t);
  53.   sb4  (*recv)(mnnio *, mnnpa *, ub1 *, size_t, boolean, ub4);
  54.   void (*close)(mnnio *);
  55.  
  56.   ub4    flags;                                            /* flags bitfield */
  57.  
  58.   dvoid *usrp;                                               /* user context */
  59.   dvoid *priv;                                     /* reserved for Media Net */
  60. };
  61. /* ENABLE check_naming */
  62.  
  63. /* network layer routines */
  64. sb4  mnnPullBuf(mnnio *, mnnpa *, ub1 *, size_t);
  65. sb4  mnnTestBuf(mnnio *);
  66. void mnnPushBuf(mnnio *, mnnpa *, ub1 *, size_t);
  67.  
  68. void mnnSubnet(mnnio *, mna *);
  69. void mnnTrace(const char *, ub1 *, size_t);
  70.  
  71. void mnnTeardown(mnnio *, mnHandler, dvoid *);
  72.  
  73. EXTC_END
  74. #endif /* MNNIO_ORACLE */
  75.