home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / somssock.xh < prev    next >
Encoding:
Text File  |  1996-02-22  |  32.0 KB  |  1,226 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\SOMSSOCK.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emitxh.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somu
  13.  * 
  14.  *    ORIGINS: 27
  15.  * 
  16.  * 
  17.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  18.  *    All Rights Reserved
  19.  *    Licensed Materials - Property of IBM
  20.  *    US Government Users Restricted Rights - Use, duplication or
  21.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  22.  * 
  23.  */
  24.  
  25.  
  26. #ifndef SOM_Sockets_xh
  27. #define SOM_Sockets_xh
  28.  
  29. class Sockets;
  30.  
  31. #define Sockets_MajorVersion 2
  32. #define Sockets_MinorVersion 1
  33.  
  34. /* C++ SOM defs */
  35. #include <somcls.xh>
  36. #include <somcm.xh>
  37.  
  38. /* C++ parent defs */
  39. #ifndef SOM_SOMObject_xh
  40. #include <somobj.xh>
  41. #endif
  42.  
  43. /*
  44.  * C++ metaclass def
  45.  */
  46. #include <snglicls.xh>
  47.  
  48. #ifndef Sockets_API
  49. #define Sockets_API
  50. /*
  51.  * -- The Class API
  52.  */
  53.  
  54. /*
  55.  * Start of user-defined types:
  56.  */
  57. class SOMClass;
  58. class SOMObject;
  59.  
  60. #ifndef SOM_DONT_USE_SHORT_NAMES
  61. #ifndef SOMTGD_Sockets_sockaddr
  62.     #ifdef Sockets_sockaddr
  63.         #undef Sockets_sockaddr
  64.         #define SOMTGD_Sockets_sockaddr 1
  65.     #else
  66.         #define Sockets_sockaddr sockaddr
  67.     #endif /* Sockets_sockaddr */
  68. #endif /* SOMTGD_Sockets_sockaddr */
  69. #endif /* SOM_DONT_USE_SHORT_NAMES */
  70.  
  71. #ifndef SOM_DONT_USE_SHORT_NAMES
  72. #ifndef SOMTGD_Sockets_iovec
  73.     #ifdef Sockets_iovec
  74.         #undef Sockets_iovec
  75.         #define SOMTGD_Sockets_iovec 1
  76.     #else
  77.         #define Sockets_iovec iovec
  78.     #endif /* Sockets_iovec */
  79. #endif /* SOMTGD_Sockets_iovec */
  80. #endif /* SOM_DONT_USE_SHORT_NAMES */
  81.  
  82. #ifndef SOM_DONT_USE_SHORT_NAMES
  83. #ifndef SOMTGD_Sockets_msghdr
  84.     #ifdef Sockets_msghdr
  85.         #undef Sockets_msghdr
  86.         #define SOMTGD_Sockets_msghdr 1
  87.     #else
  88.         #define Sockets_msghdr msghdr
  89.     #endif /* Sockets_msghdr */
  90. #endif /* SOMTGD_Sockets_msghdr */
  91. #endif /* SOM_DONT_USE_SHORT_NAMES */
  92.  
  93. #ifndef SOM_DONT_USE_SHORT_NAMES
  94. #ifndef SOMTGD_Sockets_fd_set
  95.     #ifdef Sockets_fd_set
  96.         #undef Sockets_fd_set
  97.         #define SOMTGD_Sockets_fd_set 1
  98.     #else
  99.         #define Sockets_fd_set fd_set
  100.     #endif /* Sockets_fd_set */
  101. #endif /* SOMTGD_Sockets_fd_set */
  102. #endif /* SOM_DONT_USE_SHORT_NAMES */
  103.  
  104. #ifndef SOM_DONT_USE_SHORT_NAMES
  105. #ifndef SOMTGD_Sockets_timeval
  106.     #ifdef Sockets_timeval
  107.         #undef Sockets_timeval
  108.         #define SOMTGD_Sockets_timeval 1
  109.     #else
  110.         #define Sockets_timeval timeval
  111.     #endif /* Sockets_timeval */
  112. #endif /* SOMTGD_Sockets_timeval */
  113. #endif /* SOM_DONT_USE_SHORT_NAMES */
  114.  
  115. #ifndef SOM_DONT_USE_SHORT_NAMES
  116. #ifndef SOMTGD_Sockets_hostent
  117.     #ifdef Sockets_hostent
  118.         #undef Sockets_hostent
  119.         #define SOMTGD_Sockets_hostent 1
  120.     #else
  121.         #define Sockets_hostent hostent
  122.     #endif /* Sockets_hostent */
  123. #endif /* SOMTGD_Sockets_hostent */
  124. #endif /* SOM_DONT_USE_SHORT_NAMES */
  125.  
  126. #ifndef SOM_DONT_USE_SHORT_NAMES
  127. #ifndef SOMTGD_Sockets_servent
  128.     #ifdef Sockets_servent
  129.         #undef Sockets_servent
  130.         #define SOMTGD_Sockets_servent 1
  131.     #else
  132.         #define Sockets_servent servent
  133.     #endif /* Sockets_servent */
  134. #endif /* SOMTGD_Sockets_servent */
  135. #endif /* SOM_DONT_USE_SHORT_NAMES */
  136.  
  137. #ifndef SOM_DONT_USE_SHORT_NAMES
  138. #ifndef SOMTGD_Sockets_in_addr
  139.     #ifdef Sockets_in_addr
  140.         #undef Sockets_in_addr
  141.         #define SOMTGD_Sockets_in_addr 1
  142.     #else
  143.         #define Sockets_in_addr in_addr
  144.     #endif /* Sockets_in_addr */
  145. #endif /* SOMTGD_Sockets_in_addr */
  146. #endif /* SOM_DONT_USE_SHORT_NAMES */
  147.  
  148. /*
  149.  * End of user-defined types.
  150.  */
  151.  
  152. /* A procedure to create the Sockets Class */
  153. class SOMMSingleInstance;
  154. SOMEXTERN
  155. #if (defined(SOM_Module_SOMSSOCK_Source) || defined(Sockets_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Sockets))
  156. WIN32_DLLEXPORT
  157. #else
  158. WIN32_DLLIMPORT
  159. #endif
  160. SOMMSingleInstance * SOMLINK SocketsNewClass(
  161.         integer4,
  162.         integer4 );
  163.  
  164. /* The API to the Sockets class object, and the methods it introduces. */
  165. SOMEXTERN struct SocketsClassDataStructure {
  166.     SOMMSingleInstance *classObject;
  167.     somMToken somsAccept;
  168.     somMToken somsBind;
  169.     somMToken somsConnect;
  170.     somMToken somsGethostbyaddr;
  171.     somMToken somsGethostbyname;
  172.     somMToken somsGethostent;
  173.     somMToken somsGethostid;
  174.     somMToken somsGethostname;
  175.     somMToken somsGetpeername;
  176.     somMToken somsGetsockname;
  177.     somMToken somsGetsockopt;
  178.     somMToken somsHtonl;
  179.     somMToken somsHtons;
  180.     somMToken somsIoctl;
  181.     somMToken somsInet_addr;
  182.     somMToken somsInet_lnaof;
  183.     somMToken somsInet_makeaddr;
  184.     somMToken somsInet_netof;
  185.     somMToken somsInet_network;
  186.     somMToken somsInet_ntoa;
  187.     somMToken somsListen;
  188.     somMToken somsNtohl;
  189.     somMToken somsNtohs;
  190.     somMToken somsReadv;
  191.     somMToken somsRecv;
  192.     somMToken somsRecvfrom;
  193.     somMToken somsRecvmsg;
  194.     somMToken somsSelect;
  195.     somMToken somsSend;
  196.     somMToken somsSendmsg;
  197.     somMToken somsSendto;
  198.     somMToken somsSetsockopt;
  199.     somMToken somsShutdown;
  200.     somMToken somsSocket;
  201.     somMToken somsSoclose;
  202.     somMToken somsWritev;
  203.     somMToken _set_serrno;
  204.     somMToken _get_serrno;
  205.     somMToken somsGetservbyname;
  206. }
  207. #if !(defined(SOM_Module_SOMSSOCK_Source) || defined(Sockets_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Sockets))
  208. WIN32_DLLIMPORT
  209. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  210. WIN32_DLLEXPORT
  211. #endif
  212. SOMDLINK SocketsClassData;
  213. #define _Sockets SocketsClassData.classObject
  214.  
  215. /* The API to parentMtabs for Sockets, and the instance data it introduces. */
  216. SOMEXTERN struct SocketsCClassDataStructure {
  217.     somMethodTabs parentMtab;
  218.     somDToken              instanceDataToken;
  219. }
  220. #if !(defined(SOM_Module_SOMSSOCK_Source) || defined(Sockets_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Sockets))
  221. WIN32_DLLIMPORT
  222. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  223. WIN32_DLLEXPORT
  224. #endif
  225. SOMDLINK SocketsCClassData;
  226.  
  227. /*
  228.  * -- Typedefs for Sockets Method Procedures
  229.  */
  230. extern "C" {
  231. typedef long   SOMLINK somTP_Sockets_somsAccept(Sockets *somSelf, Environment *ev,
  232.         long s,
  233.         sockaddr* name,
  234.         long* namelen);
  235. typedef somTP_Sockets_somsAccept *somTD_Sockets_somsAccept;
  236. typedef long   SOMLINK somTP_Sockets_somsBind(Sockets *somSelf, Environment *ev,
  237.         long s,
  238.         sockaddr* name,
  239.         long namelen);
  240. typedef somTP_Sockets_somsBind *somTD_Sockets_somsBind;
  241. typedef long   SOMLINK somTP_Sockets_somsConnect(Sockets *somSelf, Environment *ev,
  242.         long s,
  243.         sockaddr* name,
  244.         long namelen);
  245. typedef somTP_Sockets_somsConnect *somTD_Sockets_somsConnect;
  246. typedef hostent*   SOMLINK somTP_Sockets_somsGethostbyaddr(Sockets *somSelf, Environment *ev,
  247.         char* addr,
  248.         long addrlen,
  249.         long domain);
  250. typedef somTP_Sockets_somsGethostbyaddr *somTD_Sockets_somsGethostbyaddr;
  251. typedef hostent*   SOMLINK somTP_Sockets_somsGethostbyname(Sockets *somSelf, Environment *ev,
  252.         string name);
  253. typedef somTP_Sockets_somsGethostbyname *somTD_Sockets_somsGethostbyname;
  254. typedef hostent*   SOMLINK somTP_Sockets_somsGethostent(Sockets *somSelf, Environment *ev);
  255. typedef somTP_Sockets_somsGethostent *somTD_Sockets_somsGethostent;
  256. typedef unsigned long   SOMLINK somTP_Sockets_somsGethostid(Sockets *somSelf, Environment *ev);
  257. typedef somTP_Sockets_somsGethostid *somTD_Sockets_somsGethostid;
  258. typedef long   SOMLINK somTP_Sockets_somsGethostname(Sockets *somSelf, Environment *ev,
  259.         string name,
  260.         long namelength);
  261. typedef somTP_Sockets_somsGethostname *somTD_Sockets_somsGethostname;
  262. typedef long   SOMLINK somTP_Sockets_somsGetpeername(Sockets *somSelf, Environment *ev,
  263.         long s,
  264.         sockaddr* name,
  265.         long* namelen);
  266. typedef somTP_Sockets_somsGetpeername *somTD_Sockets_somsGetpeername;
  267. typedef servent*   SOMLINK somTP_Sockets_somsGetservbyname(Sockets *somSelf, Environment *ev,
  268.         string name,
  269.         string protocol);
  270. typedef somTP_Sockets_somsGetservbyname *somTD_Sockets_somsGetservbyname;
  271. typedef long   SOMLINK somTP_Sockets_somsGetsockname(Sockets *somSelf, Environment *ev,
  272.         long s,
  273.         sockaddr* name,
  274.         long* namelen);
  275. typedef somTP_Sockets_somsGetsockname *somTD_Sockets_somsGetsockname;
  276. typedef long   SOMLINK somTP_Sockets_somsGetsockopt(Sockets *somSelf, Environment *ev,
  277.         long s,
  278.         long level,
  279.         long optname,
  280.         char* optval,
  281.         long* option);
  282. typedef somTP_Sockets_somsGetsockopt *somTD_Sockets_somsGetsockopt;
  283. typedef unsigned long   SOMLINK somTP_Sockets_somsHtonl(Sockets *somSelf, Environment *ev,
  284.         unsigned long a);
  285. typedef somTP_Sockets_somsHtonl *somTD_Sockets_somsHtonl;
  286. typedef unsigned short   SOMLINK somTP_Sockets_somsHtons(Sockets *somSelf, Environment *ev,
  287.         unsigned short a);
  288. typedef somTP_Sockets_somsHtons *somTD_Sockets_somsHtons;
  289. typedef long   SOMLINK somTP_Sockets_somsIoctl(Sockets *somSelf, Environment *ev,
  290.         long s,
  291.         long cmd,
  292.         char* data,
  293.         long length);
  294. typedef somTP_Sockets_somsIoctl *somTD_Sockets_somsIoctl;
  295. typedef unsigned long   SOMLINK somTP_Sockets_somsInet_addr(Sockets *somSelf, Environment *ev,
  296.         string cp);
  297. typedef somTP_Sockets_somsInet_addr *somTD_Sockets_somsInet_addr;
  298. typedef unsigned long   SOMLINK somTP_Sockets_somsInet_lnaof(Sockets *somSelf, Environment *ev,
  299.         in_addr* addr);
  300. typedef somTP_Sockets_somsInet_lnaof *somTD_Sockets_somsInet_lnaof;
  301. typedef in_addr   SOMLINK somTP_Sockets_somsInet_makeaddr(Sockets *somSelf, Environment *ev,
  302.         unsigned long net,
  303.         unsigned long lna);
  304. typedef somTP_Sockets_somsInet_makeaddr *somTD_Sockets_somsInet_makeaddr;
  305. typedef unsigned long   SOMLINK somTP_Sockets_somsInet_netof(Sockets *somSelf, Environment *ev,
  306.         in_addr* addr);
  307. typedef somTP_Sockets_somsInet_netof *somTD_Sockets_somsInet_netof;
  308. typedef unsigned long   SOMLINK somTP_Sockets_somsInet_network(Sockets *somSelf, Environment *ev,
  309.         string cp);
  310. typedef somTP_Sockets_somsInet_network *somTD_Sockets_somsInet_network;
  311. typedef string   SOMLINK somTP_Sockets_somsInet_ntoa(Sockets *somSelf, Environment *ev,
  312.         in_addr* addr);
  313. typedef somTP_Sockets_somsInet_ntoa *somTD_Sockets_somsInet_ntoa;
  314. typedef long   SOMLINK somTP_Sockets_somsListen(Sockets *somSelf, Environment *ev,
  315.         long s,
  316.         long backlog);
  317. typedef somTP_Sockets_somsListen *somTD_Sockets_somsListen;
  318. typedef unsigned long   SOMLINK somTP_Sockets_somsNtohl(Sockets *somSelf, Environment *ev,
  319.         unsigned long a);
  320. typedef somTP_Sockets_somsNtohl *somTD_Sockets_somsNtohl;
  321. typedef unsigned short   SOMLINK somTP_Sockets_somsNtohs(Sockets *somSelf, Environment *ev,
  322.         unsigned short a);
  323. typedef somTP_Sockets_somsNtohs *somTD_Sockets_somsNtohs;
  324. typedef long   SOMLINK somTP_Sockets_somsReadv(Sockets *somSelf, Environment *ev,
  325.         long s,
  326.         iovec* iov,
  327.         long iovcnt);
  328. typedef somTP_Sockets_somsReadv *somTD_Sockets_somsReadv;
  329. typedef long   SOMLINK somTP_Sockets_somsRecv(Sockets *somSelf, Environment *ev,
  330.         long s,
  331.         char* buf,
  332.         long len,
  333.         long flags);
  334. typedef somTP_Sockets_somsRecv *somTD_Sockets_somsRecv;
  335. typedef long   SOMLINK somTP_Sockets_somsRecvfrom(Sockets *somSelf, Environment *ev,
  336.         long s,
  337.         char* buf,
  338.         long len,
  339.         long flags,
  340.         sockaddr* name,
  341.         long* namelen);
  342. typedef somTP_Sockets_somsRecvfrom *somTD_Sockets_somsRecvfrom;
  343. typedef long   SOMLINK somTP_Sockets_somsRecvmsg(Sockets *somSelf, Environment *ev,
  344.         long s,
  345.         msghdr* msg,
  346.         long flags);
  347. typedef somTP_Sockets_somsRecvmsg *somTD_Sockets_somsRecvmsg;
  348. typedef long   SOMLINK somTP_Sockets_somsSelect(Sockets *somSelf, Environment *ev,
  349.         long nfds,
  350.         fd_set* readfds,
  351.         fd_set* writefds,
  352.         fd_set* exceptfds,
  353.         timeval* timeout);
  354. typedef somTP_Sockets_somsSelect *somTD_Sockets_somsSelect;
  355. typedef long   SOMLINK somTP_Sockets_somsSend(Sockets *somSelf, Environment *ev,
  356.         long s,
  357.         char* msg,
  358.         long len,
  359.         long flags);
  360. typedef somTP_Sockets_somsSend *somTD_Sockets_somsSend;
  361. typedef long   SOMLINK somTP_Sockets_somsSendmsg(Sockets *somSelf, Environment *ev,
  362.         long s,
  363.         msghdr* msg,
  364.         long flags);
  365. typedef somTP_Sockets_somsSendmsg *somTD_Sockets_somsSendmsg;
  366. typedef long   SOMLINK somTP_Sockets_somsSendto(Sockets *somSelf, Environment *ev,
  367.         long s,
  368.         char* msg,
  369.         long len,
  370.         long flags,
  371.         sockaddr* to,
  372.         long tolen);
  373. typedef somTP_Sockets_somsSendto *somTD_Sockets_somsSendto;
  374. typedef long   SOMLINK somTP_Sockets_somsSetsockopt(Sockets *somSelf, Environment *ev,
  375.         long s,
  376.         long level,
  377.         long optname,
  378.         char* optval,
  379.         long optlen);
  380. typedef somTP_Sockets_somsSetsockopt *somTD_Sockets_somsSetsockopt;
  381. typedef long   SOMLINK somTP_Sockets_somsShutdown(Sockets *somSelf, Environment *ev,
  382.         long s,
  383.         long how);
  384. typedef somTP_Sockets_somsShutdown *somTD_Sockets_somsShutdown;
  385. typedef long   SOMLINK somTP_Sockets_somsSocket(Sockets *somSelf, Environment *ev,
  386.         long domain,
  387.         long type,
  388.         long protocol);
  389. typedef somTP_Sockets_somsSocket *somTD_Sockets_somsSocket;
  390. typedef long   SOMLINK somTP_Sockets_somsSoclose(Sockets *somSelf, Environment *ev,
  391.         long s);
  392. typedef somTP_Sockets_somsSoclose *somTD_Sockets_somsSoclose;
  393. typedef long   SOMLINK somTP_Sockets_somsWritev(Sockets *somSelf, Environment *ev,
  394.         long s,
  395.         iovec* iov,
  396.         long iovcnt);
  397. typedef somTP_Sockets_somsWritev *somTD_Sockets_somsWritev;
  398. typedef long   SOMLINK somTP_Sockets__get_serrno(Sockets *somSelf, Environment *ev);
  399. typedef somTP_Sockets__get_serrno *somTD_Sockets__get_serrno;
  400. typedef void   SOMLINK somTP_Sockets__set_serrno(Sockets *somSelf, Environment *ev,
  401.         long serrno);
  402. typedef somTP_Sockets__set_serrno *somTD_Sockets__set_serrno;
  403.  
  404. /*
  405.  * -- Typedefs for Reintroduced Wrapper Methods
  406.  */
  407. typedef void   SOMLINK somTP_Sockets_somDefaultInit(Sockets *somSelf,
  408.         somInitCtrl* ctrl);
  409. typedef somTP_Sockets_somDefaultInit *somTD_Sockets_somDefaultInit;
  410. typedef void   SOMLINK somTP_Sockets_somDestruct(Sockets *somSelf,
  411.         octet doFree,
  412.         somDestructCtrl* ctrl);
  413. typedef somTP_Sockets_somDestruct *somTD_Sockets_somDestruct;
  414. typedef void   SOMLINK somTP_Sockets_somDefaultCopyInit(Sockets *somSelf,
  415.         somInitCtrl* ctrl,
  416.         SOMObject* fromObj);
  417. typedef somTP_Sockets_somDefaultCopyInit *somTD_Sockets_somDefaultCopyInit;
  418. typedef Sockets*   SOMLINK somTP_Sockets_somDefaultAssign(Sockets *somSelf,
  419.         somAssignCtrl* ctrl,
  420.         SOMObject* fromObj);
  421. typedef somTP_Sockets_somDefaultAssign *somTD_Sockets_somDefaultAssign;
  422. typedef void   SOMLINK somTP_Sockets_somDefaultConstCopyInit(Sockets *somSelf,
  423.         somInitCtrl* ctrl,
  424.         SOMObject* fromObj);
  425. typedef somTP_Sockets_somDefaultConstCopyInit *somTD_Sockets_somDefaultConstCopyInit;
  426. typedef void   SOMLINK somTP_Sockets_somDefaultVCopyInit(Sockets *somSelf,
  427.         somInitCtrl* ctrl,
  428.         SOMObject* fromObj);
  429. typedef somTP_Sockets_somDefaultVCopyInit *somTD_Sockets_somDefaultVCopyInit;
  430. typedef void   SOMLINK somTP_Sockets_somDefaultConstVCopyInit(Sockets *somSelf,
  431.         somInitCtrl* ctrl,
  432.         SOMObject* fromObj);
  433. typedef somTP_Sockets_somDefaultConstVCopyInit *somTD_Sockets_somDefaultConstVCopyInit;
  434. typedef Sockets*   SOMLINK somTP_Sockets_somDefaultConstAssign(Sockets *somSelf,
  435.         somAssignCtrl* ctrl,
  436.         SOMObject* fromObj);
  437. typedef somTP_Sockets_somDefaultConstAssign *somTD_Sockets_somDefaultConstAssign;
  438. typedef Sockets*   SOMLINK somTP_Sockets_somDefaultVAssign(Sockets *somSelf,
  439.         somAssignCtrl* ctrl,
  440.         SOMObject* fromObj);
  441. typedef somTP_Sockets_somDefaultVAssign *somTD_Sockets_somDefaultVAssign;
  442. typedef Sockets*   SOMLINK somTP_Sockets_somDefaultConstVAssign(Sockets *somSelf,
  443.         somAssignCtrl* ctrl,
  444.         SOMObject* fromObj);
  445. typedef somTP_Sockets_somDefaultConstVAssign *somTD_Sockets_somDefaultConstVAssign;
  446. typedef void   SOMLINK somTP_Sockets_somInit(Sockets *somSelf);
  447. typedef somTP_Sockets_somInit *somTD_Sockets_somInit;
  448. typedef void   SOMLINK somTP_Sockets_somFree(Sockets *somSelf);
  449. typedef somTP_Sockets_somFree *somTD_Sockets_somFree;
  450. typedef void   SOMLINK somTP_Sockets_somUninit(Sockets *somSelf);
  451. typedef somTP_Sockets_somUninit *somTD_Sockets_somUninit;
  452. typedef SOMMSingleInstance*   SOMLINK somTP_Sockets_somGetClass(Sockets *somSelf);
  453. typedef somTP_Sockets_somGetClass *somTD_Sockets_somGetClass;
  454. typedef string   SOMLINK somTP_Sockets_somGetClassName(Sockets *somSelf);
  455. typedef somTP_Sockets_somGetClassName *somTD_Sockets_somGetClassName;
  456. typedef long   SOMLINK somTP_Sockets_somGetSize(Sockets *somSelf);
  457. typedef somTP_Sockets_somGetSize *somTD_Sockets_somGetSize;
  458. typedef boolean   SOMLINK somTP_Sockets_somIsA(Sockets *somSelf,
  459.         SOMClass* aClassObj);
  460. typedef somTP_Sockets_somIsA *somTD_Sockets_somIsA;
  461. typedef boolean   SOMLINK somTP_Sockets_somIsInstanceOf(Sockets *somSelf,
  462.         SOMClass* aClassObj);
  463. typedef somTP_Sockets_somIsInstanceOf *somTD_Sockets_somIsInstanceOf;
  464. typedef boolean   SOMLINK somTP_Sockets_somRespondsTo(Sockets *somSelf,
  465.         somId mId);
  466. typedef somTP_Sockets_somRespondsTo *somTD_Sockets_somRespondsTo;
  467. typedef boolean   SOMLINK somTP_Sockets_somDispatch(Sockets *somSelf,
  468.         somToken* retValue,
  469.         somId methodId,
  470.         va_list ap);
  471. typedef somTP_Sockets_somDispatch *somTD_Sockets_somDispatch;
  472. typedef boolean   SOMLINK somTP_Sockets_somClassDispatch(Sockets *somSelf,
  473.         SOMClass* clsObj,
  474.         somToken* retValue,
  475.         somId methodId,
  476.         va_list ap);
  477. typedef somTP_Sockets_somClassDispatch *somTD_Sockets_somClassDispatch;
  478. typedef boolean   SOMLINK somTP_Sockets_somCastObj(Sockets *somSelf,
  479.         SOMClass* cls);
  480. typedef somTP_Sockets_somCastObj *somTD_Sockets_somCastObj;
  481. typedef boolean   SOMLINK somTP_Sockets_somResetObj(Sockets *somSelf);
  482. typedef somTP_Sockets_somResetObj *somTD_Sockets_somResetObj;
  483. typedef SOMObject*   SOMLINK somTP_Sockets_somPrintSelf(Sockets *somSelf);
  484. typedef somTP_Sockets_somPrintSelf *somTD_Sockets_somPrintSelf;
  485. typedef void   SOMLINK somTP_Sockets_somDumpSelf(Sockets *somSelf,
  486.         long level);
  487. typedef somTP_Sockets_somDumpSelf *somTD_Sockets_somDumpSelf;
  488. typedef void   SOMLINK somTP_Sockets_somDumpSelfInt(Sockets *somSelf,
  489.         long level);
  490. typedef somTP_Sockets_somDumpSelfInt *somTD_Sockets_somDumpSelfInt;
  491. }
  492.  
  493. #endif /* Sockets_API */
  494.  
  495.  
  496. /*
  497.  * -- This emitter believes that method thunks are unavailable,
  498.  * -- so somResolve will be called.
  499.  */
  500. #undef somresolve_
  501. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  502.  
  503. /*
  504.  * -- The C++ Wrapper Class for Sockets
  505.  */
  506. class Sockets : public SOMObject
  507. {
  508. public:
  509.  
  510. // Sockets::new creates the class object if necessary, and then uses somNewNoInit
  511. // to allocate memory and create the object. Initialization is in ctors.
  512. void *operator new(size_t)
  513. {
  514.    if (!_Sockets) SocketsNewClass(Sockets_MajorVersion,Sockets_MinorVersion);
  515.    return (void*)
  516.       SOM_Resolve(_Sockets,SOMClass,somNewNoInit)
  517.          ((SOMClass *)((void*)_Sockets));
  518. }
  519.  
  520. // Sockets::delete uses somDestruct.
  521. void operator delete(void * obj)
  522. {
  523.    if (obj && *(void**)obj) {
  524.       SOM_Resolve(obj,SOMObject,somDestruct)
  525.          ((SOMObject*)obj, 1, 0);
  526.    }
  527. }
  528.  
  529. Sockets()
  530. {
  531.    if (*(void**)this != 
  532.        ((somParentMtabStructPtr)
  533.         (SocketsCClassData.parentMtab))->mtab)
  534.       return;
  535.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  536. }
  537.  
  538. Sockets(Sockets* fromObj)
  539. {
  540.    if (*(void**)this != 
  541.        ((somParentMtabStructPtr)
  542.         (SocketsCClassData.parentMtab))->mtab)
  543.       return;
  544.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  545. }
  546.  
  547. Sockets(const Sockets* fromObj)
  548. {
  549.    if (*(void**)this != 
  550.        ((somParentMtabStructPtr)
  551.         (SocketsCClassData.parentMtab))->mtab)
  552.       return;
  553.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  554. }
  555.  
  556.  
  557. /* method: somsAccept */
  558. long   somsAccept(Environment *ev,
  559.         long s,
  560.         sockaddr* name,
  561.         long* namelen)
  562. {
  563.    return SOM_ResolveD(this,Sockets,Sockets,somsAccept)
  564.     (this, ev,s,name,namelen);
  565. }
  566.  
  567.  
  568. /* method: somsBind */
  569. long   somsBind(Environment *ev,
  570.         long s,
  571.         sockaddr* name,
  572.         long namelen)
  573. {
  574.    return SOM_ResolveD(this,Sockets,Sockets,somsBind)
  575.     (this, ev,s,name,namelen);
  576. }
  577.  
  578.  
  579. /* method: somsConnect */
  580. long   somsConnect(Environment *ev,
  581.         long s,
  582.         sockaddr* name,
  583.         long namelen)
  584. {
  585.    return SOM_ResolveD(this,Sockets,Sockets,somsConnect)
  586.     (this, ev,s,name,namelen);
  587. }
  588.  
  589.  
  590. /* method: somsGethostbyaddr */
  591. hostent*   somsGethostbyaddr(Environment *ev,
  592.         char* addr,
  593.         long addrlen,
  594.         long domain)
  595. {
  596.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostbyaddr)
  597.     (this, ev,addr,addrlen,domain);
  598. }
  599.  
  600.  
  601. /* method: somsGethostbyname */
  602. hostent*   somsGethostbyname(Environment *ev,
  603.         string name)
  604. {
  605.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostbyname)
  606.     (this, ev,name);
  607. }
  608.  
  609.  
  610. /* method: somsGethostent */
  611. hostent*   somsGethostent(Environment *ev)
  612. {
  613.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostent)
  614.     (this, ev);
  615. }
  616.  
  617.  
  618. /* method: somsGethostid */
  619. unsigned long   somsGethostid(Environment *ev)
  620. {
  621.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostid)
  622.     (this, ev);
  623. }
  624.  
  625.  
  626. /* method: somsGethostname */
  627. long   somsGethostname(Environment *ev,
  628.         string name,
  629.         long namelength)
  630. {
  631.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostname)
  632.     (this, ev,name,namelength);
  633. }
  634.  
  635.  
  636. /* method: somsGetpeername */
  637. long   somsGetpeername(Environment *ev,
  638.         long s,
  639.         sockaddr* name,
  640.         long* namelen)
  641. {
  642.    return SOM_ResolveD(this,Sockets,Sockets,somsGetpeername)
  643.     (this, ev,s,name,namelen);
  644. }
  645.  
  646.  
  647. /* method: somsGetservbyname */
  648. servent*   somsGetservbyname(Environment *ev,
  649.         string name,
  650.         string protocol)
  651. {
  652.    return SOM_ResolveD(this,Sockets,Sockets,somsGetservbyname)
  653.     (this, ev,name,protocol);
  654. }
  655.  
  656.  
  657. /* method: somsGetsockname */
  658. long   somsGetsockname(Environment *ev,
  659.         long s,
  660.         sockaddr* name,
  661.         long* namelen)
  662. {
  663.    return SOM_ResolveD(this,Sockets,Sockets,somsGetsockname)
  664.     (this, ev,s,name,namelen);
  665. }
  666.  
  667.  
  668. /* method: somsGetsockopt */
  669. long   somsGetsockopt(Environment *ev,
  670.         long s,
  671.         long level,
  672.         long optname,
  673.         char* optval,
  674.         long* option)
  675. {
  676.    return SOM_ResolveD(this,Sockets,Sockets,somsGetsockopt)
  677.     (this, ev,s,level,optname,optval,option);
  678. }
  679.  
  680.  
  681. /* method: somsHtonl */
  682. unsigned long   somsHtonl(Environment *ev,
  683.         unsigned long a)
  684. {
  685.    return SOM_ResolveD(this,Sockets,Sockets,somsHtonl)
  686.     (this, ev,a);
  687. }
  688.  
  689.  
  690. /* method: somsHtons */
  691. unsigned short   somsHtons(Environment *ev,
  692.         unsigned short a)
  693. {
  694.    return SOM_ResolveD(this,Sockets,Sockets,somsHtons)
  695.     (this, ev,a);
  696. }
  697.  
  698.  
  699. /* method: somsIoctl */
  700. long   somsIoctl(Environment *ev,
  701.         long s,
  702.         long cmd,
  703.         char* data,
  704.         long length)
  705. {
  706.    return SOM_ResolveD(this,Sockets,Sockets,somsIoctl)
  707.     (this, ev,s,cmd,data,length);
  708. }
  709.  
  710.  
  711. /* method: somsInet_addr */
  712. unsigned long   somsInet_addr(Environment *ev,
  713.         string cp)
  714. {
  715.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_addr)
  716.     (this, ev,cp);
  717. }
  718.  
  719.  
  720. /* method: somsInet_lnaof */
  721. unsigned long   somsInet_lnaof(Environment *ev,
  722.         in_addr* addr)
  723. {
  724.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_lnaof)
  725.     (this, ev,addr);
  726. }
  727.  
  728.  
  729. /* method: somsInet_makeaddr */
  730. in_addr   somsInet_makeaddr(Environment *ev,
  731.         unsigned long net,
  732.         unsigned long lna)
  733. {
  734.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_makeaddr)
  735.     (this, ev,net,lna);
  736. }
  737.  
  738.  
  739. /* method: somsInet_netof */
  740. unsigned long   somsInet_netof(Environment *ev,
  741.         in_addr* addr)
  742. {
  743.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_netof)
  744.     (this, ev,addr);
  745. }
  746.  
  747.  
  748. /* method: somsInet_network */
  749. unsigned long   somsInet_network(Environment *ev,
  750.         string cp)
  751. {
  752.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_network)
  753.     (this, ev,cp);
  754. }
  755.  
  756.  
  757. /* method: somsInet_ntoa */
  758. string   somsInet_ntoa(Environment *ev,
  759.         in_addr* addr)
  760. {
  761.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_ntoa)
  762.     (this, ev,addr);
  763. }
  764.  
  765.  
  766. /* method: somsListen */
  767. long   somsListen(Environment *ev,
  768.         long s,
  769.         long backlog)
  770. {
  771.    return SOM_ResolveD(this,Sockets,Sockets,somsListen)
  772.     (this, ev,s,backlog);
  773. }
  774.  
  775.  
  776. /* method: somsNtohl */
  777. unsigned long   somsNtohl(Environment *ev,
  778.         unsigned long a)
  779. {
  780.    return SOM_ResolveD(this,Sockets,Sockets,somsNtohl)
  781.     (this, ev,a);
  782. }
  783.  
  784.  
  785. /* method: somsNtohs */
  786. unsigned short   somsNtohs(Environment *ev,
  787.         unsigned short a)
  788. {
  789.    return SOM_ResolveD(this,Sockets,Sockets,somsNtohs)
  790.     (this, ev,a);
  791. }
  792.  
  793.  
  794. /* method: somsReadv */
  795. long   somsReadv(Environment *ev,
  796.         long s,
  797.         iovec* iov,
  798.         long iovcnt)
  799. {
  800.    return SOM_ResolveD(this,Sockets,Sockets,somsReadv)
  801.     (this, ev,s,iov,iovcnt);
  802. }
  803.  
  804.  
  805. /* method: somsRecv */
  806. long   somsRecv(Environment *ev,
  807.         long s,
  808.         char* buf,
  809.         long len,
  810.         long flags)
  811. {
  812.    return SOM_ResolveD(this,Sockets,Sockets,somsRecv)
  813.     (this, ev,s,buf,len,flags);
  814. }
  815.  
  816.  
  817. /* method: somsRecvfrom */
  818. long   somsRecvfrom(Environment *ev,
  819.         long s,
  820.         char* buf,
  821.         long len,
  822.         long flags,
  823.         sockaddr* name,
  824.         long* namelen)
  825. {
  826.    return SOM_ResolveD(this,Sockets,Sockets,somsRecvfrom)
  827.     (this, ev,s,buf,len,flags,name,namelen);
  828. }
  829.  
  830.  
  831. /* method: somsRecvmsg */
  832. long   somsRecvmsg(Environment *ev,
  833.         long s,
  834.         msghdr* msg,
  835.         long flags)
  836. {
  837.    return SOM_ResolveD(this,Sockets,Sockets,somsRecvmsg)
  838.     (this, ev,s,msg,flags);
  839. }
  840.  
  841.  
  842. /* method: somsSelect */
  843. long   somsSelect(Environment *ev,
  844.         long nfds,
  845.         fd_set* readfds,
  846.         fd_set* writefds,
  847.         fd_set* exceptfds,
  848.         timeval* timeout)
  849. {
  850.    return SOM_ResolveD(this,Sockets,Sockets,somsSelect)
  851.     (this, ev,nfds,readfds,writefds,exceptfds,timeout);
  852. }
  853.  
  854.  
  855. /* method: somsSend */
  856. long   somsSend(Environment *ev,
  857.         long s,
  858.         char* msg,
  859.         long len,
  860.         long flags)
  861. {
  862.    return SOM_ResolveD(this,Sockets,Sockets,somsSend)
  863.     (this, ev,s,msg,len,flags);
  864. }
  865.  
  866.  
  867. /* method: somsSendmsg */
  868. long   somsSendmsg(Environment *ev,
  869.         long s,
  870.         msghdr* msg,
  871.         long flags)
  872. {
  873.    return SOM_ResolveD(this,Sockets,Sockets,somsSendmsg)
  874.     (this, ev,s,msg,flags);
  875. }
  876.  
  877.  
  878. /* method: somsSendto */
  879. long   somsSendto(Environment *ev,
  880.         long s,
  881.         char* msg,
  882.         long len,
  883.         long flags,
  884.         sockaddr* to,
  885.         long tolen)
  886. {
  887.    return SOM_ResolveD(this,Sockets,Sockets,somsSendto)
  888.     (this, ev,s,msg,len,flags,to,tolen);
  889. }
  890.  
  891.  
  892. /* method: somsSetsockopt */
  893. long   somsSetsockopt(Environment *ev,
  894.         long s,
  895.         long level,
  896.         long optname,
  897.         char* optval,
  898.         long optlen)
  899. {
  900.    return SOM_ResolveD(this,Sockets,Sockets,somsSetsockopt)
  901.     (this, ev,s,level,optname,optval,optlen);
  902. }
  903.  
  904.  
  905. /* method: somsShutdown */
  906. long   somsShutdown(Environment *ev,
  907.         long s,
  908.         long how)
  909. {
  910.    return SOM_ResolveD(this,Sockets,Sockets,somsShutdown)
  911.     (this, ev,s,how);
  912. }
  913.  
  914.  
  915. /* method: somsSocket */
  916. long   somsSocket(Environment *ev,
  917.         long domain,
  918.         long type,
  919.         long protocol)
  920. {
  921.    return SOM_ResolveD(this,Sockets,Sockets,somsSocket)
  922.     (this, ev,domain,type,protocol);
  923. }
  924.  
  925.  
  926. /* method: somsSoclose */
  927. long   somsSoclose(Environment *ev,
  928.         long s)
  929. {
  930.    return SOM_ResolveD(this,Sockets,Sockets,somsSoclose)
  931.     (this, ev,s);
  932. }
  933.  
  934.  
  935. /* method: somsWritev */
  936. long   somsWritev(Environment *ev,
  937.         long s,
  938.         iovec* iov,
  939.         long iovcnt)
  940. {
  941.    return SOM_ResolveD(this,Sockets,Sockets,somsWritev)
  942.     (this, ev,s,iov,iovcnt);
  943. }
  944.  
  945.  
  946. /* method: _get_serrno */
  947. long   _get_serrno(Environment *ev)
  948. {
  949.    return SOM_ResolveD(this,Sockets,Sockets,_get_serrno)
  950.     (this, ev);
  951. }
  952.  
  953.  
  954. /* method: _set_serrno */
  955. void   _set_serrno(Environment *ev,
  956.         long serrno)
  957. {
  958.    SOM_ResolveD(this,Sockets,Sockets,_set_serrno)
  959.     (this, ev,serrno);
  960. }
  961.  
  962.  
  963. /*
  964.  * Reintroduce inherited methods
  965.  */
  966.  
  967. /* initializer method: somDefaultInit */
  968. void   somDefaultInit(somInitCtrl* ctrl)
  969. {
  970.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultInit)
  971.     (this,ctrl);
  972. }
  973.  
  974.  
  975. /* method: somDestruct */
  976. void   somDestruct(octet doFree,
  977.         somDestructCtrl* ctrl)
  978. {
  979.    SOM_ResolveD(this,Sockets,SOMObject,somDestruct)
  980.     (this,doFree,ctrl);
  981. }
  982.  
  983.  
  984. /* initializer method: somDefaultCopyInit */
  985. void   somDefaultCopyInit(somInitCtrl* ctrl,
  986.         SOMObject* fromObj)
  987. {
  988.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultCopyInit)
  989.     (this,ctrl,fromObj);
  990. }
  991.  
  992.  
  993. /* method: somDefaultAssign */
  994. Sockets*  somDefaultAssign(somAssignCtrl* ctrl,
  995.         SOMObject* fromObj)
  996. {
  997.    return SOM_ResolveD(this,Sockets,SOMObject,somDefaultAssign)
  998.     (this,ctrl,fromObj);
  999. }
  1000.  
  1001.  
  1002. /* initializer method: somDefaultConstCopyInit */
  1003. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  1004.         SOMObject* fromObj)
  1005. {
  1006.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultConstCopyInit)
  1007.     (this,ctrl,fromObj);
  1008. }
  1009.  
  1010.  
  1011. /* initializer method: somDefaultVCopyInit */
  1012. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  1013.         SOMObject* fromObj)
  1014. {
  1015.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultVCopyInit)
  1016.     (this,ctrl,fromObj);
  1017. }
  1018.  
  1019.  
  1020. /* initializer method: somDefaultConstVCopyInit */
  1021. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  1022.         SOMObject* fromObj)
  1023. {
  1024.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultConstVCopyInit)
  1025.     (this,ctrl,fromObj);
  1026. }
  1027.  
  1028.  
  1029. /* method: somDefaultConstAssign */
  1030. Sockets*  somDefaultConstAssign(somAssignCtrl* ctrl,
  1031.         SOMObject* fromObj)
  1032. {
  1033.    return SOM_ResolveD(this,Sockets,SOMObject,somDefaultConstAssign)
  1034.     (this,ctrl,fromObj);
  1035. }
  1036.  
  1037.  
  1038. /* method: somDefaultVAssign */
  1039. Sockets*  somDefaultVAssign(somAssignCtrl* ctrl,
  1040.         SOMObject* fromObj)
  1041. {
  1042.    return SOM_ResolveD(this,Sockets,SOMObject,somDefaultVAssign)
  1043.     (this,ctrl,fromObj);
  1044. }
  1045.  
  1046.  
  1047. /* method: somDefaultConstVAssign */
  1048. Sockets*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  1049.         SOMObject* fromObj)
  1050. {
  1051.    return SOM_ResolveD(this,Sockets,SOMObject,somDefaultConstVAssign)
  1052.     (this,ctrl,fromObj);
  1053. }
  1054.  
  1055.  
  1056. /* method: somInit */
  1057. void   somInit()
  1058. {
  1059.    SOM_ResolveD(this,Sockets,SOMObject,somInit)
  1060.     (this);
  1061. }
  1062.  
  1063.  
  1064. /* method: somFree */
  1065. void   somFree()
  1066. {
  1067.    SOM_ResolveD(this,Sockets,SOMObject,somFree)
  1068.     (this);
  1069. }
  1070.  
  1071.  
  1072. /* method: somUninit */
  1073. void   somUninit()
  1074. {
  1075.    SOM_ResolveD(this,Sockets,SOMObject,somUninit)
  1076.     (this);
  1077. }
  1078.  
  1079.  
  1080. /* method: somGetClass */
  1081. SOMMSingleInstance*  somGetClass()
  1082. {
  1083.    return SOM_ResolveD(this,Sockets,SOMObject,somGetClass)
  1084.     (this);
  1085. }
  1086.  
  1087.  
  1088. /* method: somGetClassName */
  1089. string   somGetClassName()
  1090. {
  1091.    return SOM_ResolveD(this,Sockets,SOMObject,somGetClassName)
  1092.     (this);
  1093. }
  1094.  
  1095.  
  1096. /* method: somGetSize */
  1097. long   somGetSize()
  1098. {
  1099.    return SOM_ResolveD(this,Sockets,SOMObject,somGetSize)
  1100.     (this);
  1101. }
  1102.  
  1103.  
  1104. /* method: somIsA */
  1105. boolean   somIsA(SOMClass* aClassObj)
  1106. {
  1107.    return SOM_ResolveD(this,Sockets,SOMObject,somIsA)
  1108.     (this,aClassObj);
  1109. }
  1110.  
  1111.  
  1112. /* method: somIsInstanceOf */
  1113. boolean   somIsInstanceOf(SOMClass* aClassObj)
  1114. {
  1115.    return SOM_ResolveD(this,Sockets,SOMObject,somIsInstanceOf)
  1116.     (this,aClassObj);
  1117. }
  1118.  
  1119.  
  1120. /* method: somRespondsTo */
  1121. boolean   somRespondsTo(somId mId)
  1122. {
  1123.    return SOM_ResolveD(this,Sockets,SOMObject,somRespondsTo)
  1124.     (this,mId);
  1125. }
  1126.  
  1127.  
  1128. /* va_list method: somDispatch */
  1129. /* the va_list invocation form */
  1130. boolean   Sockets_somDispatch(somToken* retValue,
  1131.         somId methodId,
  1132.         va_list ap)
  1133. {
  1134. return SOM_ResolveD(this,Sockets,SOMObject,somDispatch)
  1135.     (this,retValue,methodId,ap);
  1136. }
  1137.  
  1138. /* the varargs invocation form */
  1139. boolean   somDispatch(somToken* retValue,
  1140.         somId methodId,
  1141.         ...)
  1142. {
  1143.    va_list ap;
  1144.    va_start(ap, methodId);
  1145.    boolean __somResult = 
  1146.       SOM_ResolveD(this,Sockets,SOMObject,somDispatch)
  1147.     (this,retValue,methodId,ap);
  1148.    va_end(ap);
  1149.    return __somResult;
  1150. }
  1151.  
  1152.  
  1153. /* va_list method: somClassDispatch */
  1154. /* the va_list invocation form */
  1155. boolean   Sockets_somClassDispatch(SOMClass* clsObj,
  1156.         somToken* retValue,
  1157.         somId methodId,
  1158.         va_list ap)
  1159. {
  1160. return SOM_ResolveD(this,Sockets,SOMObject,somClassDispatch)
  1161.     (this,clsObj,retValue,methodId,ap);
  1162. }
  1163.  
  1164. /* the varargs invocation form */
  1165. boolean   somClassDispatch(SOMClass* clsObj,
  1166.         somToken* retValue,
  1167.         somId methodId,
  1168.         ...)
  1169. {
  1170.    va_list ap;
  1171.    va_start(ap, methodId);
  1172.    boolean __somResult = 
  1173.       SOM_ResolveD(this,Sockets,SOMObject,somClassDispatch)
  1174.     (this,clsObj,retValue,methodId,ap);
  1175.    va_end(ap);
  1176.    return __somResult;
  1177. }
  1178.  
  1179.  
  1180. /* method: somCastObj */
  1181. boolean   somCastObj(SOMClass* cls)
  1182. {
  1183.    return SOM_ResolveD(this,Sockets,SOMObject,somCastObj)
  1184.     (this,cls);
  1185. }
  1186.  
  1187.  
  1188. /* method: somResetObj */
  1189. boolean   somResetObj()
  1190. {
  1191.    return SOM_ResolveD(this,Sockets,SOMObject,somResetObj)
  1192.     (this);
  1193. }
  1194.  
  1195.  
  1196. /* method: somPrintSelf */
  1197. SOMObject*   somPrintSelf()
  1198. {
  1199.    return SOM_ResolveD(this,Sockets,SOMObject,somPrintSelf)
  1200.     (this);
  1201. }
  1202.  
  1203.  
  1204. /* method: somDumpSelf */
  1205. void   somDumpSelf(long level)
  1206. {
  1207.    SOM_ResolveD(this,Sockets,SOMObject,somDumpSelf)
  1208.     (this,level);
  1209. }
  1210.  
  1211.  
  1212. /* method: somDumpSelfInt */
  1213. void   somDumpSelfInt(long level)
  1214. {
  1215.    SOM_ResolveD(this,Sockets,SOMObject,somDumpSelfInt)
  1216.     (this,level);
  1217. }
  1218.  
  1219.  
  1220.  
  1221. };   /* Sockets */
  1222.  
  1223.  
  1224.  
  1225. #endif       /* SOM_Sockets_xh */
  1226.