Use the GETSERVBYPORT command to translate a port number to the name of the service that is using the port.
.-,--TCP----------. >>-SOCKET--(--"GETSERVBYPORT"--,--portid--+-----------------+---> '-,--protocolname-' >--)-----------------------------------------------------------><
This command returns a string that contains the return code, service name, the port number that the service is using, and the network protocol, for example, 0 FTP 21 TCP. The return code can be 0 or the REXX API error number. The return code 0 indicates that the requested socket command was completed successfully.
See Socket call error return codes for additional information about the numeric error codes that are returned by this command.
struct servent *getservbyport(int port, char *proto);
/* REXX EZARXR18 */
/*
* This sample demonstrates the use of the GETSERVBYPORT
* socket command.
*/
if perror(socket("INITIALIZE","MYSET01"),"INITIALIZE") = 0,
then do
src = socket("GETSERVBYPORT","21");
Say "Port 21 is using service "SUBWORD(src,2);
end;
src = perror(socket("TERMINATE","MYSET01"),"TERMINATE");
exit 0;
/* This routine returns -1 if the first word if arg 1 is not zero */
perror: if word(arg(1),1) = 0 then return 0; else
Say arg(2) "Error : "arg(1);
return -1;