%SS_GETSERVBYNAME

Return the port number given the service name

WSupported on Windows
USupported on Unix
VSupported on OpenVMS
NSupported in Synergy .NET
status = %SS_GETSERVBYNAME(service, [type], port, protocol) 

Return value

status

Returns SS_SUCCESS (0) or one of the errors in Error codes returned by %SS_GETSERVBYNAME below. (n)

Arguments

service

The service name for which to return a port number. (a)

type

(optional) One of the following types of protocols to access the service: (a)

tcp = Transmission control protocol.

udp = User datagram protocol.

port

Returned with the port number for the specified service. (n)

protocol

Returned with the name of the network protocol for the specified service. (a)

Discussion

%SS_GETSERVBYNAME gets the port and network protocol from the services file for the specified service name (and optional protocol type). This file is the TCP/IP services file on Windows; the /etc/services file on Unix; and sys$system:tcpip$services.dat on OpenVMS. (On OpenVMS, this is not a text file that you can edit directly as is the case on Windows and Unix; rather it’s a binary file, which can be edited with sys$manager:tcpip$config.com.)

If type is not specified, the first match is returned, and protocol will be either “tcp” or “udp.”

If SS_ENULL is returned, the system error code can be returned by immediately calling %SYSERR.

Error codes returned by %SS_GETSERVBYNAME

See the Socket Errors table for additional information about these errors.

SS_EINTR

SS_ENETDOWN

SS_ENULL

SS_HOST_NOT_FOUND

SS_NO_DATA

SS_NO_RECOVERY

SS_TRY_AGAIN

Examples

The example below returns the port and protocol for the vtxnet service.

status = %ss_getservbyname("vtxnet",, port, proto)