"I'm having issues getting the C sockets API to work properly in C++ on z/OS. Although I am including sys/socket.h, I still get compile time errors telling me that AF_INET is not defined. Am I missing something obvious, or is this related to the fact that being on z/OS makes my problems much more complicated? I discovered that there is an #ifdef that I'm hitting. Apparently z/OS isn't happy unless I define which ""type"" of sockets I'm using with: #define _OE_SOCKETS
Now, I personally have no idea what this _OE_SOCKETS is actually for, so if any z/OS sockets programmers are out there (all 3 of you), perhaps you could give me a rundown of how this all works? Test App #include <sys/socket.h>
int main() { return AF_INET; }
Compile/Link Output: cxx -Wc,xplink -Wl,xplink -o inet_test inet.C
""./inet.C"", line 5.16: CCN5274 (S) The name lookup for ""AF_INET"" did not find a declaration. CCN0797(I) Compilation failed for file ./inet.C. Object file not created.
A check of sys/sockets.h does include the definition I need, and as far as I can tell, it is not being blocked by any #ifdef statements. I have however noticed it contains the following: #ifdef __cplusplus extern ""C"" { #endif
which encapsulates basically the whole file? Not sure if it matters.
c++ c sockets mainframe zos
ShareShare a link to this question Copy linkCC BY-SA 4.0
Improve this question
Follow Follow this question to receive notifications
edited Dec 2 '20 at 17:23 Braiam 4,3201111 gold badges5050 silver badges7272 bronze badges
asked Aug 1 '08 at 12:13 JaxJax 6,53744 gold badges2525 silver badges3737 bronze badges"
|