Operating System - OpenVMS
1748092 Members
5387 Online
108758 Solutions
New Discussion юеВ

Re: Information wanted for UCX$C_AUXS

 
SOLVED
Go to solution
Shivakumar_3
Advisor

Information wanted for UCX$C_AUXS

hello everybody,
I wanted some details about this.Is it a system call???I am very new to VAX side programming.In my program they are using this as communication socket.Please also tell me if this can be replaced in HP-UX?.Thanks in advance.
5 REPLIES 5
Martin Vorlaender
Honored Contributor

Re: Information wanted for UCX$C_AUXS

The "C" following the "$" and preceeding the "_" says it's a constant. On my TCP/IP Services V5.4 system it (or it's more modern counterpart TCPIP$C_AUXS) is in SYS$LIBRARY:TCPIP$INETDEF.H:

#define TCPIP$C_AUXS 127

cu,
Martin
Martin Vorlaender
Honored Contributor
Solution

Re: Information wanted for UCX$C_AUXS

See http://h71000.www7.hp.com/doc/82final/6529/6529pro_021.html#r_socket : It's a special value passed to socket() to tell the system to use the auxiliary server. I guess in HP-UX you could just replace it by AF_INET (or AF_INET6 for IPv6).

cu,
Martin
Richard Whalen
Honored Contributor

Re: Information wanted for UCX$C_AUXS

UCX$C_AUXS or TCPIP$C_AUXS is a special value used by the socket call specifying that the socket created should be assigned to what the logical name SYS$NET is assigned to.

This is used to hand off a connection from the process that listens for the incoming connection to the process that will service the connections requests. In the Unix world the process that listens for the connection would generally fork() to accept the incoming connection, then process the new connection in the forked child.

VMS uses a different mechanism because it does not implement the Unix fork().
Arch_Muthiah
Honored Contributor

Re: Information wanted for UCX$C_AUXS

Hi Shivakumar,

I would like to add few more info.

As other members said, UCX$C_AUXS is one of the argument passed to the socket () routine and VMS system routines (SYS$xxxx).

usuage:

SYS$QIOW( EFN$C_ENF,channel, IO$_SETMODE,
&iosb, 0, 0, &sockchar, 0, 0, 0, 0,0)

SOCKET(UCX$C_AUXS, stream_type_file, and comm_protocol).

the Ist arg in socket routine and 7th arg in sys$qiow routine specifies the address family, this address can be referenced in subsequent operations in the send and receive routines. UCX$C_AUXS is passed as arg whenever the auxiliary server creates a process in response to the incoming network service with LISTEN flag. The 7th arg in sys$qiow() is structure with the following 3 members.

sockchar.prot = protocol_type;
sockchar.type = stream_type_file;/*C file*/
sockchar.af = UCX$C_AUXS;

Archunan
Regards
Archie
Richard J Maher
Trusted Contributor

Re: Information wanted for UCX$C_AUXS

Hi,

Just came across this question and thought a COBOL (or any non-C) example might be useful for those who want $QIO access to the Auxillary Server (INETd).

Cheers Richard