home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / SOM / INCLUDE / SOMSSOCK.XH < prev    next >
Text File  |  1995-08-30  |  31KB  |  1,266 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: somssock.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.2
  7.  *     SOM Emitter emitxh: 2.41
  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 SOMMSingleInstance * SOMLINK SocketsNewClass(
  155.         integer4 majorVersion,
  156.         integer4 minorVersion);
  157.  
  158. /* The API to the Sockets class object, and the methods it introduces. */
  159. SOMEXTERN struct SocketsClassDataStructure {
  160.     SOMMSingleInstance *classObject;
  161.     somMToken somsAccept;
  162.     somMToken somsBind;
  163.     somMToken somsConnect;
  164.     somMToken somsGethostbyaddr;
  165.     somMToken somsGethostbyname;
  166.     somMToken somsGethostent;
  167.     somMToken somsGethostid;
  168.     somMToken somsGethostname;
  169.     somMToken somsGetpeername;
  170.     somMToken somsGetsockname;
  171.     somMToken somsGetsockopt;
  172.     somMToken somsHtonl;
  173.     somMToken somsHtons;
  174.     somMToken somsIoctl;
  175.     somMToken somsInet_addr;
  176.     somMToken somsInet_lnaof;
  177.     somMToken somsInet_makeaddr;
  178.     somMToken somsInet_netof;
  179.     somMToken somsInet_network;
  180.     somMToken somsInet_ntoa;
  181.     somMToken somsListen;
  182.     somMToken somsNtohl;
  183.     somMToken somsNtohs;
  184.     somMToken somsReadv;
  185.     somMToken somsRecv;
  186.     somMToken somsRecvfrom;
  187.     somMToken somsRecvmsg;
  188.     somMToken somsSelect;
  189.     somMToken somsSend;
  190.     somMToken somsSendmsg;
  191.     somMToken somsSendto;
  192.     somMToken somsSetsockopt;
  193.     somMToken somsShutdown;
  194.     somMToken somsSocket;
  195.     somMToken somsSoclose;
  196.     somMToken somsWritev;
  197.     somMToken _set_serrno;
  198.     somMToken _get_serrno;
  199.     somMToken somsGetservbyname;
  200. } SOMDLINK SocketsClassData;
  201. #define _Sockets SocketsClassData.classObject
  202.  
  203. /* The API to parentMtabs for Sockets, and the instance data it introduces. */
  204. SOMEXTERN struct SocketsCClassDataStructure {
  205.     somMethodTabs parentMtab;
  206.     somDToken              instanceDataToken;
  207. } SOMDLINK SocketsCClassData;
  208.  
  209. /*
  210.  * -- Typedefs for Sockets Method Procedures
  211.  */
  212. SOMEXTERN {
  213. typedef long   (SOMLINK * somTD_Sockets_somsAccept)(Sockets *somSelf, Environment *ev,
  214.         long s,
  215.         sockaddr* name,
  216.         long* namelen);
  217. typedef long   (SOMLINK * somTD_Sockets_somsBind)(Sockets *somSelf, Environment *ev,
  218.         long s,
  219.         sockaddr* name,
  220.         long namelen);
  221. typedef long   (SOMLINK * somTD_Sockets_somsConnect)(Sockets *somSelf, Environment *ev,
  222.         long s,
  223.         sockaddr* name,
  224.         long namelen);
  225. typedef hostent*   (SOMLINK * somTD_Sockets_somsGethostbyaddr)(Sockets *somSelf, Environment *ev,
  226.         char* addr,
  227.         long addrlen,
  228.         long domain);
  229. typedef hostent*   (SOMLINK * somTD_Sockets_somsGethostbyname)(Sockets *somSelf, Environment *ev,
  230.         string name);
  231. typedef hostent*   (SOMLINK * somTD_Sockets_somsGethostent)(Sockets *somSelf, Environment *ev);
  232. typedef unsigned long   (SOMLINK * somTD_Sockets_somsGethostid)(Sockets *somSelf, Environment *ev);
  233. typedef long   (SOMLINK * somTD_Sockets_somsGethostname)(Sockets *somSelf, Environment *ev,
  234.         string name,
  235.         long namelength);
  236. typedef long   (SOMLINK * somTD_Sockets_somsGetpeername)(Sockets *somSelf, Environment *ev,
  237.         long s,
  238.         sockaddr* name,
  239.         long* namelen);
  240. typedef servent*   (SOMLINK * somTD_Sockets_somsGetservbyname)(Sockets *somSelf, Environment *ev,
  241.         string name,
  242.         string protocol);
  243. typedef long   (SOMLINK * somTD_Sockets_somsGetsockname)(Sockets *somSelf, Environment *ev,
  244.         long s,
  245.         sockaddr* name,
  246.         long* namelen);
  247. typedef long   (SOMLINK * somTD_Sockets_somsGetsockopt)(Sockets *somSelf, Environment *ev,
  248.         long s,
  249.         long level,
  250.         long optname,
  251.         char* optval,
  252.         long* option);
  253. typedef unsigned long   (SOMLINK * somTD_Sockets_somsHtonl)(Sockets *somSelf, Environment *ev,
  254.         unsigned long a);
  255. typedef unsigned short   (SOMLINK * somTD_Sockets_somsHtons)(Sockets *somSelf, Environment *ev,
  256.         unsigned short a);
  257. typedef long   (SOMLINK * somTD_Sockets_somsIoctl)(Sockets *somSelf, Environment *ev,
  258.         long s,
  259.         long cmd,
  260.         char* data,
  261.         long length);
  262. typedef unsigned long   (SOMLINK * somTD_Sockets_somsInet_addr)(Sockets *somSelf, Environment *ev,
  263.         string cp);
  264. typedef unsigned long   (SOMLINK * somTD_Sockets_somsInet_lnaof)(Sockets *somSelf, Environment *ev,
  265.         in_addr* addr);
  266. typedef in_addr   (SOMLINK * somTD_Sockets_somsInet_makeaddr)(Sockets *somSelf, Environment *ev,
  267.         unsigned long net,
  268.         unsigned long lna);
  269. typedef unsigned long   (SOMLINK * somTD_Sockets_somsInet_netof)(Sockets *somSelf, Environment *ev,
  270.         in_addr* addr);
  271. typedef unsigned long   (SOMLINK * somTD_Sockets_somsInet_network)(Sockets *somSelf, Environment *ev,
  272.         string cp);
  273. typedef string   (SOMLINK * somTD_Sockets_somsInet_ntoa)(Sockets *somSelf, Environment *ev,
  274.         in_addr* addr);
  275. typedef long   (SOMLINK * somTD_Sockets_somsListen)(Sockets *somSelf, Environment *ev,
  276.         long s,
  277.         long backlog);
  278. typedef unsigned long   (SOMLINK * somTD_Sockets_somsNtohl)(Sockets *somSelf, Environment *ev,
  279.         unsigned long a);
  280. typedef unsigned short   (SOMLINK * somTD_Sockets_somsNtohs)(Sockets *somSelf, Environment *ev,
  281.         unsigned short a);
  282. typedef long   (SOMLINK * somTD_Sockets_somsReadv)(Sockets *somSelf, Environment *ev,
  283.         long s,
  284.         iovec* iov,
  285.         long iovcnt);
  286. typedef long   (SOMLINK * somTD_Sockets_somsRecv)(Sockets *somSelf, Environment *ev,
  287.         long s,
  288.         char* buf,
  289.         long len,
  290.         long flags);
  291. typedef long   (SOMLINK * somTD_Sockets_somsRecvfrom)(Sockets *somSelf, Environment *ev,
  292.         long s,
  293.         char* buf,
  294.         long len,
  295.         long flags,
  296.         sockaddr* name,
  297.         long* namelen);
  298. typedef long   (SOMLINK * somTD_Sockets_somsRecvmsg)(Sockets *somSelf, Environment *ev,
  299.         long s,
  300.         msghdr* msg,
  301.         long flags);
  302. typedef long   (SOMLINK * somTD_Sockets_somsSelect)(Sockets *somSelf, Environment *ev,
  303.         long nfds,
  304.         fd_set* readfds,
  305.         fd_set* writefds,
  306.         fd_set* exceptfds,
  307.         timeval* timeout);
  308. typedef long   (SOMLINK * somTD_Sockets_somsSend)(Sockets *somSelf, Environment *ev,
  309.         long s,
  310.         char* msg,
  311.         long len,
  312.         long flags);
  313. typedef long   (SOMLINK * somTD_Sockets_somsSendmsg)(Sockets *somSelf, Environment *ev,
  314.         long s,
  315.         msghdr* msg,
  316.         long flags);
  317. typedef long   (SOMLINK * somTD_Sockets_somsSendto)(Sockets *somSelf, Environment *ev,
  318.         long s,
  319.         char* msg,
  320.         long len,
  321.         long flags,
  322.         sockaddr* to,
  323.         long tolen);
  324. typedef long   (SOMLINK * somTD_Sockets_somsSetsockopt)(Sockets *somSelf, Environment *ev,
  325.         long s,
  326.         long level,
  327.         long optname,
  328.         char* optval,
  329.         long optlen);
  330. typedef long   (SOMLINK * somTD_Sockets_somsShutdown)(Sockets *somSelf, Environment *ev,
  331.         long s,
  332.         long how);
  333. typedef long   (SOMLINK * somTD_Sockets_somsSocket)(Sockets *somSelf, Environment *ev,
  334.         long domain,
  335.         long type,
  336.         long protocol);
  337. typedef long   (SOMLINK * somTD_Sockets_somsSoclose)(Sockets *somSelf, Environment *ev,
  338.         long s);
  339. typedef long   (SOMLINK * somTD_Sockets_somsWritev)(Sockets *somSelf, Environment *ev,
  340.         long s,
  341.         iovec* iov,
  342.         long iovcnt);
  343. typedef long   (SOMLINK * somTD_Sockets__get_serrno)(Sockets *somSelf, Environment *ev);
  344. typedef void   (SOMLINK * somTD_Sockets__set_serrno)(Sockets *somSelf, Environment *ev,
  345.         long serrno);
  346.  
  347. /*
  348.  * -- Typedefs for Reintroduced Wrapper Methods
  349.  */
  350. typedef void   (SOMLINK * somTD_Sockets_somDefaultInit)(Sockets *somSelf,
  351.         somInitCtrl* ctrl);
  352. typedef void   (SOMLINK * somTD_Sockets_somDestruct)(Sockets *somSelf,
  353.         octet doFree,
  354.         somDestructCtrl* ctrl);
  355. typedef void   (SOMLINK * somTD_Sockets_somDefaultCopyInit)(Sockets *somSelf,
  356.         somInitCtrl* ctrl,
  357.         SOMObject* fromObj);
  358. typedef Sockets*   (SOMLINK * somTD_Sockets_somDefaultAssign)(Sockets *somSelf,
  359.         somAssignCtrl* ctrl,
  360.         SOMObject* fromObj);
  361. typedef void   (SOMLINK * somTD_Sockets_somDefaultConstCopyInit)(Sockets *somSelf,
  362.         somInitCtrl* ctrl,
  363.         SOMObject* fromObj);
  364. typedef void   (SOMLINK * somTD_Sockets_somDefaultVCopyInit)(Sockets *somSelf,
  365.         somInitCtrl* ctrl,
  366.         SOMObject* fromObj);
  367. typedef void   (SOMLINK * somTD_Sockets_somDefaultConstVCopyInit)(Sockets *somSelf,
  368.         somInitCtrl* ctrl,
  369.         SOMObject* fromObj);
  370. typedef Sockets*   (SOMLINK * somTD_Sockets_somDefaultConstAssign)(Sockets *somSelf,
  371.         somAssignCtrl* ctrl,
  372.         SOMObject* fromObj);
  373. typedef Sockets*   (SOMLINK * somTD_Sockets_somDefaultVAssign)(Sockets *somSelf,
  374.         somAssignCtrl* ctrl,
  375.         SOMObject* fromObj);
  376. typedef Sockets*   (SOMLINK * somTD_Sockets_somDefaultConstVAssign)(Sockets *somSelf,
  377.         somAssignCtrl* ctrl,
  378.         SOMObject* fromObj);
  379. typedef void   (SOMLINK * somTD_Sockets_somInit)(Sockets *somSelf);
  380. typedef void   (SOMLINK * somTD_Sockets_somFree)(Sockets *somSelf);
  381. typedef void   (SOMLINK * somTD_Sockets_somUninit)(Sockets *somSelf);
  382. typedef SOMMSingleInstance*   (SOMLINK * somTD_Sockets_somGetClass)(Sockets *somSelf);
  383. typedef string   (SOMLINK * somTD_Sockets_somGetClassName)(Sockets *somSelf);
  384. typedef long   (SOMLINK * somTD_Sockets_somGetSize)(Sockets *somSelf);
  385. typedef boolean   (SOMLINK * somTD_Sockets_somIsA)(Sockets *somSelf,
  386.         SOMClass* aClassObj);
  387. typedef boolean   (SOMLINK * somTD_Sockets_somIsInstanceOf)(Sockets *somSelf,
  388.         SOMClass* aClassObj);
  389. typedef boolean   (SOMLINK * somTD_Sockets_somRespondsTo)(Sockets *somSelf,
  390.         somId mId);
  391. typedef boolean   (SOMLINK * somTD_Sockets_somDispatch)(Sockets *somSelf,
  392.         somToken* retValue,
  393.         somId methodId,
  394.         va_list ap);
  395. typedef boolean   (SOMLINK * somTD_Sockets_somClassDispatch)(Sockets *somSelf,
  396.         SOMClass* clsObj,
  397.         somToken* retValue,
  398.         somId methodId,
  399.         va_list ap);
  400. typedef boolean   (SOMLINK * somTD_Sockets_somCastObj)(Sockets *somSelf,
  401.         SOMClass* cls);
  402. typedef boolean   (SOMLINK * somTD_Sockets_somResetObj)(Sockets *somSelf);
  403. typedef void   (SOMLINK * somTD_Sockets_somDispatchV)(Sockets *somSelf,
  404.         somId methodId,
  405.         somId descriptor,
  406.         va_list ap);
  407. typedef long   (SOMLINK * somTD_Sockets_somDispatchL)(Sockets *somSelf,
  408.         somId methodId,
  409.         somId descriptor,
  410.         va_list ap);
  411. typedef void*   (SOMLINK * somTD_Sockets_somDispatchA)(Sockets *somSelf,
  412.         somId methodId,
  413.         somId descriptor,
  414.         va_list ap);
  415. typedef double   (SOMLINK * somTD_Sockets_somDispatchD)(Sockets *somSelf,
  416.         somId methodId,
  417.         somId descriptor,
  418.         va_list ap);
  419. typedef SOMObject*   (SOMLINK * somTD_Sockets_somPrintSelf)(Sockets *somSelf);
  420. typedef void   (SOMLINK * somTD_Sockets_somDumpSelf)(Sockets *somSelf,
  421.         long level);
  422. typedef void   (SOMLINK * somTD_Sockets_somDumpSelfInt)(Sockets *somSelf,
  423.         long level);
  424. }
  425.  
  426. #endif /* Sockets_API */
  427.  
  428.  
  429. /*
  430.  * -- This emitter treats Method Tokens as Thunks by default.
  431.  * -- Use the sc modifier "nothunks" to change this default
  432.  */
  433. #undef somresolve_
  434. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  435.  
  436. /*
  437.  * -- The C++ Wrapper Class for Sockets
  438.  */
  439. class Sockets : public SOMObject
  440. {
  441. public:
  442.  
  443. // Sockets::new creates the class object if necessary, and then uses somNewNoInit
  444. // to allocate memory and create the object. Initialization is in ctors.
  445. void *operator new(size_t size)
  446. {
  447.    SOM_IgnoreWarning(size);
  448.    if (!_Sockets) SocketsNewClass(Sockets_MajorVersion,Sockets_MinorVersion);
  449.    return (void*)
  450.       SOM_Resolve(_Sockets,SOMClass,somNewNoInit)
  451.          ((SOMClass *)((void*)_Sockets));
  452. }
  453.  
  454. // Sockets::delete uses the default deallocator for the object's class.
  455. void operator delete(void * obj)
  456. {
  457.    somToken objCls = obj ? *(void**)obj : (somToken) NULL;
  458.    if (somIsObj(objCls)) {
  459.       SOM_Resolve(objCls,SOMClass,somDeallocate)
  460.          ((SOMClass*)objCls, (string)obj);
  461.    }
  462. }
  463.  
  464. Sockets()
  465. {
  466.    if (*(void**)this != 
  467.        ((somParentMtabStructPtr)
  468.         (SocketsCClassData.parentMtab))->mtab)
  469.       return;
  470.    somDefaultInit(0);
  471. }
  472.  
  473. Sockets(Sockets* fromObj)
  474. {
  475.    if (*(void**)this != 
  476.        ((somParentMtabStructPtr)
  477.         (SocketsCClassData.parentMtab))->mtab)
  478.       return;
  479.    somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  480. }
  481.  
  482. Sockets(const Sockets* fromObj)
  483. {
  484.    if (*(void**)this != 
  485.        ((somParentMtabStructPtr)
  486.         (SocketsCClassData.parentMtab))->mtab)
  487.       return;
  488.    somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  489. }
  490.  
  491. ~Sockets()
  492. {
  493.    if (!somIsObj(this)) return;
  494.    somDestruct(0,0);
  495.    *(void**)this = **(void***)this;
  496. }
  497.  
  498.  
  499. /* method: somsAccept */
  500. long   somsAccept(Environment *ev,
  501.         long s,
  502.         sockaddr* name,
  503.         long* namelen)
  504. {
  505.    return SOM_ResolveD(this,Sockets,Sockets,somsAccept)
  506.     (this, ev,s,name,namelen);
  507. }
  508.  
  509.  
  510. /* method: somsBind */
  511. long   somsBind(Environment *ev,
  512.         long s,
  513.         sockaddr* name,
  514.         long namelen)
  515. {
  516.    return SOM_ResolveD(this,Sockets,Sockets,somsBind)
  517.     (this, ev,s,name,namelen);
  518. }
  519.  
  520.  
  521. /* method: somsConnect */
  522. long   somsConnect(Environment *ev,
  523.         long s,
  524.         sockaddr* name,
  525.         long namelen)
  526. {
  527.    return SOM_ResolveD(this,Sockets,Sockets,somsConnect)
  528.     (this, ev,s,name,namelen);
  529. }
  530.  
  531.  
  532. /* method: somsGethostbyaddr */
  533. hostent*   somsGethostbyaddr(Environment *ev,
  534.         char* addr,
  535.         long addrlen,
  536.         long domain)
  537. {
  538.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostbyaddr)
  539.     (this, ev,addr,addrlen,domain);
  540. }
  541.  
  542.  
  543. /* method: somsGethostbyname */
  544. hostent*   somsGethostbyname(Environment *ev,
  545.         string name)
  546. {
  547.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostbyname)
  548.     (this, ev,name);
  549. }
  550.  
  551.  
  552. /* method: somsGethostent */
  553. hostent*   somsGethostent(Environment *ev)
  554. {
  555.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostent)
  556.     (this, ev);
  557. }
  558.  
  559.  
  560. /* method: somsGethostid */
  561. unsigned long   somsGethostid(Environment *ev)
  562. {
  563.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostid)
  564.     (this, ev);
  565. }
  566.  
  567.  
  568. /* method: somsGethostname */
  569. long   somsGethostname(Environment *ev,
  570.         string name,
  571.         long namelength)
  572. {
  573.    return SOM_ResolveD(this,Sockets,Sockets,somsGethostname)
  574.     (this, ev,name,namelength);
  575. }
  576.  
  577.  
  578. /* method: somsGetpeername */
  579. long   somsGetpeername(Environment *ev,
  580.         long s,
  581.         sockaddr* name,
  582.         long* namelen)
  583. {
  584.    return SOM_ResolveD(this,Sockets,Sockets,somsGetpeername)
  585.     (this, ev,s,name,namelen);
  586. }
  587.  
  588.  
  589. /* method: somsGetservbyname */
  590. servent*   somsGetservbyname(Environment *ev,
  591.         string name,
  592.         string protocol)
  593. {
  594.    return SOM_ResolveD(this,Sockets,Sockets,somsGetservbyname)
  595.     (this, ev,name,protocol);
  596. }
  597.  
  598.  
  599. /* method: somsGetsockname */
  600. long   somsGetsockname(Environment *ev,
  601.         long s,
  602.         sockaddr* name,
  603.         long* namelen)
  604. {
  605.    return SOM_ResolveD(this,Sockets,Sockets,somsGetsockname)
  606.     (this, ev,s,name,namelen);
  607. }
  608.  
  609.  
  610. /* method: somsGetsockopt */
  611. long   somsGetsockopt(Environment *ev,
  612.         long s,
  613.         long level,
  614.         long optname,
  615.         char* optval,
  616.         long* option)
  617. {
  618.    return SOM_ResolveD(this,Sockets,Sockets,somsGetsockopt)
  619.     (this, ev,s,level,optname,optval,option);
  620. }
  621.  
  622.  
  623. /* method: somsHtonl */
  624. unsigned long   somsHtonl(Environment *ev,
  625.         unsigned long a)
  626. {
  627.    return SOM_ResolveD(this,Sockets,Sockets,somsHtonl)
  628.     (this, ev,a);
  629. }
  630.  
  631.  
  632. /* method: somsHtons */
  633. unsigned short   somsHtons(Environment *ev,
  634.         unsigned short a)
  635. {
  636.    return SOM_ResolveD(this,Sockets,Sockets,somsHtons)
  637.     (this, ev,a);
  638. }
  639.  
  640.  
  641. /* method: somsIoctl */
  642. long   somsIoctl(Environment *ev,
  643.         long s,
  644.         long cmd,
  645.         char* data,
  646.         long length)
  647. {
  648.    return SOM_ResolveD(this,Sockets,Sockets,somsIoctl)
  649.     (this, ev,s,cmd,data,length);
  650. }
  651.  
  652.  
  653. /* method: somsInet_addr */
  654. unsigned long   somsInet_addr(Environment *ev,
  655.         string cp)
  656. {
  657.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_addr)
  658.     (this, ev,cp);
  659. }
  660.  
  661.  
  662. /* method: somsInet_lnaof */
  663. unsigned long   somsInet_lnaof(Environment *ev,
  664.         in_addr* addr)
  665. {
  666.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_lnaof)
  667.     (this, ev,addr);
  668. }
  669.  
  670.  
  671. /* method: somsInet_makeaddr */
  672. in_addr   somsInet_makeaddr(Environment *ev,
  673.         unsigned long net,
  674.         unsigned long lna)
  675. {
  676.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_makeaddr)
  677.     (this, ev,net,lna);
  678. }
  679.  
  680.  
  681. /* method: somsInet_netof */
  682. unsigned long   somsInet_netof(Environment *ev,
  683.         in_addr* addr)
  684. {
  685.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_netof)
  686.     (this, ev,addr);
  687. }
  688.  
  689.  
  690. /* method: somsInet_network */
  691. unsigned long   somsInet_network(Environment *ev,
  692.         string cp)
  693. {
  694.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_network)
  695.     (this, ev,cp);
  696. }
  697.  
  698.  
  699. /* method: somsInet_ntoa */
  700. string   somsInet_ntoa(Environment *ev,
  701.         in_addr* addr)
  702. {
  703.    return SOM_ResolveD(this,Sockets,Sockets,somsInet_ntoa)
  704.     (this, ev,addr);
  705. }
  706.  
  707.  
  708. /* method: somsListen */
  709. long   somsListen(Environment *ev,
  710.         long s,
  711.         long backlog)
  712. {
  713.    return SOM_ResolveD(this,Sockets,Sockets,somsListen)
  714.     (this, ev,s,backlog);
  715. }
  716.  
  717.  
  718. /* method: somsNtohl */
  719. unsigned long   somsNtohl(Environment *ev,
  720.         unsigned long a)
  721. {
  722.    return SOM_ResolveD(this,Sockets,Sockets,somsNtohl)
  723.     (this, ev,a);
  724. }
  725.  
  726.  
  727. /* method: somsNtohs */
  728. unsigned short   somsNtohs(Environment *ev,
  729.         unsigned short a)
  730. {
  731.    return SOM_ResolveD(this,Sockets,Sockets,somsNtohs)
  732.     (this, ev,a);
  733. }
  734.  
  735.  
  736. /* method: somsReadv */
  737. long   somsReadv(Environment *ev,
  738.         long s,
  739.         iovec* iov,
  740.         long iovcnt)
  741. {
  742.    return SOM_ResolveD(this,Sockets,Sockets,somsReadv)
  743.     (this, ev,s,iov,iovcnt);
  744. }
  745.  
  746.  
  747. /* method: somsRecv */
  748. long   somsRecv(Environment *ev,
  749.         long s,
  750.         char* buf,
  751.         long len,
  752.         long flags)
  753. {
  754.    return SOM_ResolveD(this,Sockets,Sockets,somsRecv)
  755.     (this, ev,s,buf,len,flags);
  756. }
  757.  
  758.  
  759. /* method: somsRecvfrom */
  760. long   somsRecvfrom(Environment *ev,
  761.         long s,
  762.         char* buf,
  763.         long len,
  764.         long flags,
  765.         sockaddr* name,
  766.         long* namelen)
  767. {
  768.    return SOM_ResolveD(this,Sockets,Sockets,somsRecvfrom)
  769.     (this, ev,s,buf,len,flags,name,namelen);
  770. }
  771.  
  772.  
  773. /* method: somsRecvmsg */
  774. long   somsRecvmsg(Environment *ev,
  775.         long s,
  776.         msghdr* msg,
  777.         long flags)
  778. {
  779.    return SOM_ResolveD(this,Sockets,Sockets,somsRecvmsg)
  780.     (this, ev,s,msg,flags);
  781. }
  782.  
  783.  
  784. /* method: somsSelect */
  785. long   somsSelect(Environment *ev,
  786.         long nfds,
  787.         fd_set* readfds,
  788.         fd_set* writefds,
  789.         fd_set* exceptfds,
  790.         timeval* timeout)
  791. {
  792.    return SOM_ResolveD(this,Sockets,Sockets,somsSelect)
  793.     (this, ev,nfds,readfds,writefds,exceptfds,timeout);
  794. }
  795.  
  796.  
  797. /* method: somsSend */
  798. long   somsSend(Environment *ev,
  799.         long s,
  800.         char* msg,
  801.         long len,
  802.         long flags)
  803. {
  804.    return SOM_ResolveD(this,Sockets,Sockets,somsSend)
  805.     (this, ev,s,msg,len,flags);
  806. }
  807.  
  808.  
  809. /* method: somsSendmsg */
  810. long   somsSendmsg(Environment *ev,
  811.         long s,
  812.         msghdr* msg,
  813.         long flags)
  814. {
  815.    return SOM_ResolveD(this,Sockets,Sockets,somsSendmsg)
  816.     (this, ev,s,msg,flags);
  817. }
  818.  
  819.  
  820. /* method: somsSendto */
  821. long   somsSendto(Environment *ev,
  822.         long s,
  823.         char* msg,
  824.         long len,
  825.         long flags,
  826.         sockaddr* to,
  827.         long tolen)
  828. {
  829.    return SOM_ResolveD(this,Sockets,Sockets,somsSendto)
  830.     (this, ev,s,msg,len,flags,to,tolen);
  831. }
  832.  
  833.  
  834. /* method: somsSetsockopt */
  835. long   somsSetsockopt(Environment *ev,
  836.         long s,
  837.         long level,
  838.         long optname,
  839.         char* optval,
  840.         long optlen)
  841. {
  842.    return SOM_ResolveD(this,Sockets,Sockets,somsSetsockopt)
  843.     (this, ev,s,level,optname,optval,optlen);
  844. }
  845.  
  846.  
  847. /* method: somsShutdown */
  848. long   somsShutdown(Environment *ev,
  849.         long s,
  850.         long how)
  851. {
  852.    return SOM_ResolveD(this,Sockets,Sockets,somsShutdown)
  853.     (this, ev,s,how);
  854. }
  855.  
  856.  
  857. /* method: somsSocket */
  858. long   somsSocket(Environment *ev,
  859.         long domain,
  860.         long type,
  861.         long protocol)
  862. {
  863.    return SOM_ResolveD(this,Sockets,Sockets,somsSocket)
  864.     (this, ev,domain,type,protocol);
  865. }
  866.  
  867.  
  868. /* method: somsSoclose */
  869. long   somsSoclose(Environment *ev,
  870.         long s)
  871. {
  872.    return SOM_ResolveD(this,Sockets,Sockets,somsSoclose)
  873.     (this, ev,s);
  874. }
  875.  
  876.  
  877. /* method: somsWritev */
  878. long   somsWritev(Environment *ev,
  879.         long s,
  880.         iovec* iov,
  881.         long iovcnt)
  882. {
  883.    return SOM_ResolveD(this,Sockets,Sockets,somsWritev)
  884.     (this, ev,s,iov,iovcnt);
  885. }
  886.  
  887.  
  888. /* method: _get_serrno */
  889. long   _get_serrno(Environment *ev)
  890. {
  891.    return SOM_ResolveD(this,Sockets,Sockets,_get_serrno)
  892.     (this, ev);
  893. }
  894.  
  895.  
  896. /* method: _set_serrno */
  897. void   _set_serrno(Environment *ev,
  898.         long serrno)
  899. {
  900.    SOM_ResolveD(this,Sockets,Sockets,_set_serrno)
  901.     (this, ev,serrno);
  902. }
  903.  
  904.  
  905. /*
  906.  * Reintroduce inherited methods
  907.  */
  908.  
  909. /* initializer method: somDefaultInit */
  910. void   somDefaultInit(somInitCtrl* ctrl)
  911. {
  912.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultInit)
  913.     (this,ctrl);
  914. }
  915.  
  916.  
  917. /* method: somDestruct */
  918. void   somDestruct(octet doFree,
  919.         somDestructCtrl* ctrl)
  920. {
  921.    SOM_ResolveD(this,Sockets,SOMObject,somDestruct)
  922.     (this,doFree,ctrl);
  923. }
  924.  
  925.  
  926. /* method: somDefaultCopyInit */
  927. void   somDefaultCopyInit(somInitCtrl* ctrl,
  928.         SOMObject* fromObj)
  929. {
  930.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultCopyInit)
  931.     (this,ctrl,fromObj);
  932. }
  933.  
  934.  
  935. /* method: somDefaultAssign */
  936. Sockets*  somDefaultAssign(somAssignCtrl* ctrl,
  937.         SOMObject* fromObj)
  938. {
  939.    return SOM_ResolveD(this,Sockets,SOMObject,somDefaultAssign)
  940.     (this,ctrl,fromObj);
  941. }
  942.  
  943.  
  944. /* method: somDefaultConstCopyInit */
  945. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  946.         SOMObject* fromObj)
  947. {
  948.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultConstCopyInit)
  949.     (this,ctrl,fromObj);
  950. }
  951.  
  952.  
  953. /* method: somDefaultVCopyInit */
  954. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  955.         SOMObject* fromObj)
  956. {
  957.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultVCopyInit)
  958.     (this,ctrl,fromObj);
  959. }
  960.  
  961.  
  962. /* method: somDefaultConstVCopyInit */
  963. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  964.         SOMObject* fromObj)
  965. {
  966.    SOM_ResolveD(this,Sockets,SOMObject,somDefaultConstVCopyInit)
  967.     (this,ctrl,fromObj);
  968. }
  969.  
  970.  
  971. /* method: somDefaultConstAssign */
  972. Sockets*  somDefaultConstAssign(somAssignCtrl* ctrl,
  973.         SOMObject* fromObj)
  974. {
  975.    return SOM_ResolveD(this,Sockets,SOMObject,somDefaultConstAssign)
  976.     (this,ctrl,fromObj);
  977. }
  978.  
  979.  
  980. /* method: somDefaultVAssign */
  981. Sockets*  somDefaultVAssign(somAssignCtrl* ctrl,
  982.         SOMObject* fromObj)
  983. {
  984.    return SOM_ResolveD(this,Sockets,SOMObject,somDefaultVAssign)
  985.     (this,ctrl,fromObj);
  986. }
  987.  
  988.  
  989. /* method: somDefaultConstVAssign */
  990. Sockets*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  991.         SOMObject* fromObj)
  992. {
  993.    return SOM_ResolveD(this,Sockets,SOMObject,somDefaultConstVAssign)
  994.     (this,ctrl,fromObj);
  995. }
  996.  
  997.  
  998. /* method: somInit */
  999. void   somInit()
  1000. {
  1001.    SOM_ResolveD(this,Sockets,SOMObject,somInit)
  1002.     (this);
  1003. }
  1004.  
  1005.  
  1006. /* method: somFree */
  1007. void   somFree()
  1008. {
  1009.    SOM_ResolveD(this,Sockets,SOMObject,somFree)
  1010.     (this);
  1011. }
  1012.  
  1013.  
  1014. /* method: somUninit */
  1015. void   somUninit()
  1016. {
  1017.    SOM_ResolveD(this,Sockets,SOMObject,somUninit)
  1018.     (this);
  1019. }
  1020.  
  1021.  
  1022. /* method: somGetClass */
  1023. SOMMSingleInstance*  somGetClass()
  1024. {
  1025.    return SOM_ResolveD(this,Sockets,SOMObject,somGetClass)
  1026.     (this);
  1027. }
  1028.  
  1029.  
  1030. /* method: somGetClassName */
  1031. string   somGetClassName()
  1032. {
  1033.    return SOM_ResolveD(this,Sockets,SOMObject,somGetClassName)
  1034.     (this);
  1035. }
  1036.  
  1037.  
  1038. /* method: somGetSize */
  1039. long   somGetSize()
  1040. {
  1041.    return SOM_ResolveD(this,Sockets,SOMObject,somGetSize)
  1042.     (this);
  1043. }
  1044.  
  1045.  
  1046. /* method: somIsA */
  1047. boolean   somIsA(SOMClass* aClassObj)
  1048. {
  1049.    return SOM_ResolveD(this,Sockets,SOMObject,somIsA)
  1050.     (this,aClassObj);
  1051. }
  1052.  
  1053.  
  1054. /* method: somIsInstanceOf */
  1055. boolean   somIsInstanceOf(SOMClass* aClassObj)
  1056. {
  1057.    return SOM_ResolveD(this,Sockets,SOMObject,somIsInstanceOf)
  1058.     (this,aClassObj);
  1059. }
  1060.  
  1061.  
  1062. /* method: somRespondsTo */
  1063. boolean   somRespondsTo(somId mId)
  1064. {
  1065.    return SOM_ResolveD(this,Sockets,SOMObject,somRespondsTo)
  1066.     (this,mId);
  1067. }
  1068.  
  1069.  
  1070. /* va_list method: somDispatch */
  1071. /* the va_list invocation form */
  1072. boolean   Sockets_somDispatch(somToken* retValue,
  1073.         somId methodId,
  1074.         va_list ap)
  1075. {
  1076. return SOM_ResolveD(this,Sockets,SOMObject,somDispatch)
  1077.     (this,retValue,methodId,ap);
  1078. }
  1079.  
  1080. /* the varargs invocation form */
  1081. boolean   somDispatch(somToken* retValue,
  1082.         somId methodId,
  1083.         ...)
  1084. {
  1085.    va_list ap;
  1086.    va_start(ap, methodId);
  1087.    boolean __somResult = 
  1088.       SOM_ResolveD(this,Sockets,SOMObject,somDispatch)
  1089.     (this,retValue,methodId,ap);
  1090.    va_end(ap);
  1091.    return __somResult;
  1092. }
  1093.  
  1094.  
  1095. /* va_list method: somClassDispatch */
  1096. /* the va_list invocation form */
  1097. boolean   Sockets_somClassDispatch(SOMClass* clsObj,
  1098.         somToken* retValue,
  1099.         somId methodId,
  1100.         va_list ap)
  1101. {
  1102. return SOM_ResolveD(this,Sockets,SOMObject,somClassDispatch)
  1103.     (this,clsObj,retValue,methodId,ap);
  1104. }
  1105.  
  1106. /* the varargs invocation form */
  1107. boolean   somClassDispatch(SOMClass* clsObj,
  1108.         somToken* retValue,
  1109.         somId methodId,
  1110.         ...)
  1111. {
  1112.    va_list ap;
  1113.    va_start(ap, methodId);
  1114.    boolean __somResult = 
  1115.       SOM_ResolveD(this,Sockets,SOMObject,somClassDispatch)
  1116.     (this,clsObj,retValue,methodId,ap);
  1117.    va_end(ap);
  1118.    return __somResult;
  1119. }
  1120.  
  1121.  
  1122. /* method: somCastObj */
  1123. boolean   somCastObj(SOMClass* cls)
  1124. {
  1125.    return SOM_ResolveD(this,Sockets,SOMObject,somCastObj)
  1126.     (this,cls);
  1127. }
  1128.  
  1129.  
  1130. /* method: somResetObj */
  1131. boolean   somResetObj()
  1132. {
  1133.    return SOM_ResolveD(this,Sockets,SOMObject,somResetObj)
  1134.     (this);
  1135. }
  1136.  
  1137.  
  1138. /* va_list method: somDispatchV */
  1139. /* the va_list invocation form */
  1140. void   Sockets_somDispatchV(somId methodId,
  1141.         somId descriptor,
  1142.         va_list ap)
  1143. {
  1144.    SOM_ResolveD(this,Sockets,SOMObject,somDispatchV)
  1145.     (this,methodId,descriptor,ap);
  1146. }
  1147.  
  1148. /* the varargs invocation form */
  1149. void   somDispatchV(somId methodId,
  1150.         somId descriptor,
  1151.         ...)
  1152. {
  1153.    va_list ap;
  1154.    va_start(ap, descriptor);
  1155.    SOM_ResolveD(this,Sockets,SOMObject,somDispatchV)
  1156.     (this,methodId,descriptor,ap);
  1157.    va_end(ap);
  1158. }
  1159.  
  1160.  
  1161. /* va_list method: somDispatchL */
  1162. /* the va_list invocation form */
  1163. long   Sockets_somDispatchL(somId methodId,
  1164.         somId descriptor,
  1165.         va_list ap)
  1166. {
  1167. return SOM_ResolveD(this,Sockets,SOMObject,somDispatchL)
  1168.     (this,methodId,descriptor,ap);
  1169. }
  1170.  
  1171. /* the varargs invocation form */
  1172. long   somDispatchL(somId methodId,
  1173.         somId descriptor,
  1174.         ...)
  1175. {
  1176.    va_list ap;
  1177.    va_start(ap, descriptor);
  1178.    long __somResult = 
  1179.       SOM_ResolveD(this,Sockets,SOMObject,somDispatchL)
  1180.     (this,methodId,descriptor,ap);
  1181.    va_end(ap);
  1182.    return __somResult;
  1183. }
  1184.  
  1185.  
  1186. /* va_list method: somDispatchA */
  1187. /* the va_list invocation form */
  1188. void*   Sockets_somDispatchA(somId methodId,
  1189.         somId descriptor,
  1190.         va_list ap)
  1191. {
  1192. return SOM_ResolveD(this,Sockets,SOMObject,somDispatchA)
  1193.     (this,methodId,descriptor,ap);
  1194. }
  1195.  
  1196. /* the varargs invocation form */
  1197. void*   somDispatchA(somId methodId,
  1198.         somId descriptor,
  1199.         ...)
  1200. {
  1201.    va_list ap;
  1202.    va_start(ap, descriptor);
  1203.    void* __somResult = 
  1204.       SOM_ResolveD(this,Sockets,SOMObject,somDispatchA)
  1205.     (this,methodId,descriptor,ap);
  1206.    va_end(ap);
  1207.    return __somResult;
  1208. }
  1209.  
  1210.  
  1211. /* va_list method: somDispatchD */
  1212. /* the va_list invocation form */
  1213. double   Sockets_somDispatchD(somId methodId,
  1214.         somId descriptor,
  1215.         va_list ap)
  1216. {
  1217. return SOM_ResolveD(this,Sockets,SOMObject,somDispatchD)
  1218.     (this,methodId,descriptor,ap);
  1219. }
  1220.  
  1221. /* the varargs invocation form */
  1222. double   somDispatchD(somId methodId,
  1223.         somId descriptor,
  1224.         ...)
  1225. {
  1226.    va_list ap;
  1227.    va_start(ap, descriptor);
  1228.    double __somResult = 
  1229.       SOM_ResolveD(this,Sockets,SOMObject,somDispatchD)
  1230.     (this,methodId,descriptor,ap);
  1231.    va_end(ap);
  1232.    return __somResult;
  1233. }
  1234.  
  1235.  
  1236. /* method: somPrintSelf */
  1237. SOMObject*   somPrintSelf()
  1238. {
  1239.    return SOM_ResolveD(this,Sockets,SOMObject,somPrintSelf)
  1240.     (this);
  1241. }
  1242.  
  1243.  
  1244. /* method: somDumpSelf */
  1245. void   somDumpSelf(long level)
  1246. {
  1247.    SOM_ResolveD(this,Sockets,SOMObject,somDumpSelf)
  1248.     (this,level);
  1249. }
  1250.  
  1251.  
  1252. /* method: somDumpSelfInt */
  1253. void   somDumpSelfInt(long level)
  1254. {
  1255.    SOM_ResolveD(this,Sockets,SOMObject,somDumpSelfInt)
  1256.     (this,level);
  1257. }
  1258.  
  1259.  
  1260.  
  1261. };   /* Sockets */
  1262.  
  1263.  
  1264.  
  1265. #endif       /* SOM_Sockets_xh */
  1266.