Operating System - OpenVMS
Showing results for 
Search instead for 
Did you mean: 

Information wanted for UCX$C_AUXS

Go to solution

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.
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

Martin Vorlaender
Honored Contributor

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).

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().
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).


&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;

Richard J Maher
Trusted Contributor

Re: Information wanted for UCX$C_AUXS


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