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

  1. /* Copyright (c) 1994 by Oracle Corporation.  All Rights Reserved.
  2.  *
  3.  * mnrs.h - OMN Remote Procedure Call Server-Side Public Interface
  4.  *
  5.  * DESCRIPTION
  6.  * Related man pages are mnrAddComp(3), mnrAllow(3), mnrCreateServer(3),
  7.  * mnrCtxCreate(3), mnrDestroyServer(3), mnrGetAddr(3), mnrGetNextCall(3),
  8.  * mnrGetPeer(3), mnrListen(3), mnrMainLoop(3), mnrRegister(3), and
  9.  * mnrReturnCall(3).
  10.  *
  11.  * REVISIONS
  12.  * jolkin    08/08/94  Creation of Version 2.1
  13.  * jolkin    05/05/94  Creation
  14.  */
  15.  
  16. #ifndef MNRS_ORACLE
  17. #define MNRS_ORACLE
  18.  
  19. #ifndef SYSX_ORACLE
  20. #include <sysx.h>
  21. #endif
  22. #ifndef MN_ORACLE
  23. #include <mn.h>
  24. #endif
  25. #ifndef MNR_ORACLE
  26. #include <mnr.h>
  27. #endif
  28.  
  29. EXTC_START
  30.  
  31. /* RPC server-side type definitions */
  32. typedef struct mnrcd mnrcd;                          /* component descriptor */
  33. typedef struct mnrod mnrod;                          /* operation descriptor */
  34. typedef struct mnrs  mnrs;                                  /* server handle */
  35. typedef struct mnrsc mnrsc;                                   /* call handle */
  36.  
  37. /* component descriptor */
  38. /* DISABLE check_naming */
  39. struct mnrcd
  40. {
  41.   const mnrid *cid;                                  /* component identifier */
  42.         ub2    noper;                       /* number of operations in array */
  43.   const mnrod *opers;                         /* array of operation pointers */
  44.   const char  *nm;                                      /* name of component */
  45. };
  46.  
  47. /* operation descriptor */
  48. struct mnrod
  49. {
  50.         void (*oper)(mnrsc *, mnbv *, ub4);                     /* operation */
  51.   const char  *nm;                                      /* name of operation */
  52. };
  53. /* ENABLE check_naming */
  54.  
  55. /* server handle manipulation */
  56. mnrs   *mnrCreateServer(const mnrid *, ub4, const mnrcd **, dvoid *);
  57. void    mnrDestroyServer(mnrs *);
  58. sb4     mnrRegister(mnrs *, const char *, boolean);
  59. sb4     mnrUnregister(mnrs *);
  60. void    mnrGetAddr(mnrs *, mna *);
  61. dvoid  *mnrGetUsrp(mnrs *);
  62. mnp    *mnrGetServerPort(mnrs *);
  63. sb4     mnrAddComp(mnrs *, const mnrcd *, dvoid *);
  64. sb4     mnrRemComp(mnrs *, const mnrid *);
  65. dvoid  *mnrGetCompUsrp(mnrs *, const mnrid *);
  66. sb4     mnrMainLoop(mnrs *);
  67. void    mnrTermLoop(mnrs *, sb4);
  68.  
  69. /* call handle manipulation */
  70. sb4     mnrListen(mnrs *, ub4, mnHandler, dvoid *);
  71. void    mnrAllow(mnrs *);
  72. void    mnrDisallow(mnrs *);
  73. mnrsc  *mnrGetNextCall(mnrs *);
  74. boolean mnrDispatchCall(mnrsc *);
  75. sb4     mnrReturnCall(mnrsc *, mnbv *, ub4, mnHandler, dvoid *);
  76. void    mnrGetPeer(mnrsc *, mna *);
  77. mnrs   *mnrGetHandle(mnrsc *);
  78.  
  79. /* client context manipulation */
  80. sb4     mnrCtxCreate(mnrsc *, dvoid *, void (*)(mnrsc *, mnbv *, ub4));
  81. void    mnrCtxDestroy(mnrsc *);
  82. dvoid  *mnrCtxGet(mnrsc *);
  83. ub4     mnrCtxId(mnrsc *);
  84. dvoid  *mnrConvertId(mnrs *sh, ub4 id);
  85.  
  86. EXTC_END
  87. #endif /* MNRS_ORACLE */
  88.