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

  1. /* Copyright (c) 1994 by Oracle Corporation.  All Rights Reserved.
  2.  *
  3.  * mnt.h - OMN Transport Layer
  4.  *
  5.  * DESCRIPTION
  6.  * Related man pages are mnOpen(3), mnClose(3), mnGetAddr(3), mnGetOptions(3),
  7.  * mnSend(3), mnRecv(3), mnListen(3), mnAccept(3), mnConnect(3), mnRead(3),
  8.  * and mnWrite(3).
  9.  *
  10.  * REVISIONS
  11.  * jolkin    08/19/94  Creation of Version 2.1
  12.  * jolkin    04/20/94  Creation of Version 2.0
  13.  */
  14.  
  15. #ifndef MNT_ORACLE
  16. #define MNT_ORACLE
  17.  
  18. #ifndef SYSX_ORACLE
  19. #include <sysx.h>
  20. #endif
  21. #ifndef MN_ORACLE
  22. #include <mn.h>
  23. #endif
  24.  
  25. EXTC_START
  26.  
  27. /* Protocols */
  28. #define MNPROTO_OCP     ((ub4) 0)/* control protocol (reserved to Media Net) */
  29. #define MNPROTO_MESSAGE ((ub4) 1)                        /* message protocol */
  30. #define MNPROTO_STREAM  ((ub4) 2)                         /* stream protocol */
  31. #define MNPROTO_BLOB    ((ub4) 3)                           /* blob protocol */
  32. #define MNPROTO_MAX     ((ub4) 4)                    /* maximum protocol + 1 */
  33.  
  34. /* Type declarations */
  35. typedef struct mnp mnp;                                   /* port descriptor */
  36.  
  37. /* Port options */
  38. #define MNOPT_NONBLOCK  ((ub4) 0x00000001)              /* non-blocking mode */
  39.  
  40. /* General port routines */
  41. mnp  *mnOpen(ub4);
  42. sb4   mnClose(mnp *);
  43.  
  44. void  mnGetAddr(mnp *, mna *);
  45. sb4   mnGetPeer(mnp *, mna *);
  46.  
  47. void  mnSetOptions(mnp *, ub4);
  48. ub4   mnGetOptions(mnp *);
  49.  
  50. sb4   mnBind(mnp *, mna *);
  51.  
  52. sb4    mnBlobRecv(ub1 * (*)(dvoid *, size_t, ub4, ub4),
  53.           void  (*)(dvoid *, sb4), dvoid  *, ub1 *, ub4 *);
  54. dvoid *mnBlobPrepare(ub1 *, ub4, ub4, mnHandler, dvoid *, mna *);
  55. sb4    mnBlobSend(dvoid *, ub1 *, ub4 *);
  56.  
  57. /* Message-based port routines */
  58. sb4  mnSend(mnp *, mna *, ub1 *, size_t, mnHandler, dvoid *);
  59. sb4  mnSendV(mnp *, mna *, mnbv *, ub4, mnHandler, dvoid *);
  60. sb4  mnRecv(mnp *, mna *, ub1 *, size_t, ub4, mnHandler, dvoid *);
  61. sb4  mnRecvV(mnp *, mna *, mnbv *, ub4, ub4, mnHandler, dvoid *);
  62. #define mnRecvWait(port, from, timeout, handler, usrp) \
  63.   mnRecvV(port, from, (mnbv *) 0, (ub4) 0, timeout, handler, usrp)
  64. sb4  mnRecvTest(mnp *, mna *);
  65.  
  66. /* Stream-based port routines */
  67. sb4  mnListen(mnp *, ub4, mnHandler, dvoid *);
  68. mnp *mnAccept(mnp *);
  69. sb4  mnConnect(mnp *, mna *);
  70. sb4  mnRead(mnp *, ub1 *, size_t, boolean, ub4, mnHandler, dvoid *);
  71. sb4  mnWrite(mnp *, ub1 *, size_t);
  72.  
  73. EXTC_END
  74. #endif /* MNT_ORACLE */
  75.