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

  1. /* Copyright (c) 1994 by Oracle Corporation.  All Rights Reserved.
  2.  *
  3.  * mn.h - Media Net Global Definitions
  4.  *
  5.  * DESCRIPTION
  6.  * Related man pages are mnInit(3), mnTerm(3), mnVersion(3), mnTimer(3),
  7.  * mnIdle(3), mnDiscard(3), and mnSetSndBuf(3).
  8.  *
  9.  * REVISIONS
  10.  * jolkin    08/21/94  Creation of Version 2.1
  11.  * jolkin    04/20/94  Creation of Version 2.0
  12.  */
  13.  
  14. #ifndef MN_ORACLE
  15. #define MN_ORACLE
  16.  
  17. #ifndef SYSX_ORACLE
  18. #include <sysx.h>
  19. #endif
  20.  
  21. EXTC_START
  22.  
  23. /* Global type definitions */
  24. typedef struct mna   mna;                               /* Media Net address */
  25. typedef struct mnbv  mnbv;                          /* buffer vector element */
  26. typedef struct mnnpa mnnpa;                              /* physical address */
  27. typedef struct mnnio mnnio;                      /* network interface object */
  28.  
  29. typedef void   (*mnHandler)(dvoid *, sb4);           /* asynchronous handler */
  30.  
  31. typedef dvoid *(*mnAlloc)(size_t);                /* callback for allocation */
  32. typedef void   (*mnFree)(dvoid *ptr);           /* callback for deallocation */
  33.  
  34. typedef sb4    (*mnSpin)(dvoid *);                      /* busy-wait routine */
  35. typedef void   (*mnLogger)(const char *);                 /* logging routine */
  36.  
  37. /* constant definitions */
  38. #define MNFLG_FORWARD  ((ub4) 0x00010000)
  39. #define MNFLG_TRACE    ((ub4) 0x00020000)
  40.  
  41. /* buffer vector element */
  42. /* DISABLE check_naming */
  43. struct mnbv
  44. {
  45.   size_t len;                                            /* length of buffer */
  46.   ub1   *buf;                                           /* pointer to buffer */
  47. };
  48. /* ENABLE check_naming */
  49.  
  50. /* initialization routines */
  51. void  mnInit(ub4, mnLogger, mnnio **, ub4, mnnpa *,
  52.          mnbv *, ub4, mnAlloc, mnFree, mnSpin, dvoid *, ub4);
  53. void  mnTerm(void);
  54.  
  55. /* environment */
  56. char   *mnVersion(char *, size_t);
  57. boolean mnAlive(void);
  58. char   *mnGetCwd(void);
  59.  
  60. /* primitives */
  61. sb4     mnEcho(mna *, ub4, mnHandler, dvoid *);
  62. sb4     mnTimer(ub4, mnHandler, dvoid *);
  63.  
  64. /* execution routines */
  65. ub4   mnIdle(void);
  66. void  mnWait(ub4);
  67. void  mnSetBusyWait(mnSpin, dvoid *, ub4);
  68. void  mnPostIntr(sb4 sts);
  69. void  mnSetIntrHandler(mnHandler hndlr, dvoid *usrp);
  70.  
  71. void  mnDiscard(dvoid *, sb4);
  72.  
  73. /* memory routines */
  74. sb4   mnSetSndBuf(ub4);
  75. sb4   mnSetRcvBuf(ub4);
  76.  
  77. /* as a convenience, include other primary headers automatically */
  78. #ifndef MNERR_ORACLE
  79. #include <mnerr.h>
  80. #endif
  81. #ifndef MNSEM_ORACLE
  82. #include <mnsem.h>
  83. #endif
  84. #ifndef MNA_ORACLE
  85. #include <mna.h>
  86. #endif
  87. #ifndef MNT_ORACLE
  88. #include <mnt.h>
  89. #endif
  90.  
  91. EXTC_END
  92. #endif /* MN_ORACLE */
  93.