× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: RE: TCP/IP sockets - Getservbyname
  • From: Chris Bipes <ChrisB@xxxxxxxxxxxxxxx>
  • Date: Fri, 23 Jul 1999 07:54:51 -0700

Thank You Scott.  You are a life savior.  Now all I need is a book, "C for
RPG programmers".  If only IBM have the socket function headers in RPG as
well as C.  When I am finished, I plan on posting what We have translated.

Christopher K. Bipes            mailto:ChrisB@Cross-Check.com
Sr. Programmer/Analyst          mailto:Chris_Bipes@Yahoo.com
CrossCheck, Inc.                http://www.cross-check.com
6119 State Farm Drive           Phone: 707 586-0551 x 1102
Rohnert Park  CA  94928         Fax: 707 586-1884



-----Original Message-----
From: Scott Klement [mailto:infosys@klements.com]
Sent: Thursday, July 22, 1999 3:47 PM
To: RPG400-L@midrange.com
Subject: Re: TCP/IP sockets - Getservbyname


Hi Chris...

Whats actually in the servent structure will be the pointer data,
not a null terminated string.   In other words, the pointer returned
by getservbyname does not start with a null-terminated character
string, but rather with the address of another area of memory.

What makes it even more fun is the s_aliases subfield in the
servent structure.   Its not just a pointer, but a pointer to
an array of pointers!  (variable-length, too)

The gethostbyname (which I use almost constantly) works the same
way, so if you're familiar with that, maybe that'll help you :)

Tell ya what, I'll include some example code (at the bottom of this
message) that shows the use of the getservbyname function.   (This
code has been tested, and it works on my system...)

Please keep in mind that these things ARE case-sensitive.  In other
words, if you use my example code, and do:

CALL PGM(WHATEVER) PARM('telnet' 'tcp')

This WILL work, but:

CALL PGM(WHATEVER) PARM('telnet' 'TCP')

this won't.   The service is 'tcp' not 'TCP'

Hope that helps...

Scott Klement
Information Systems Manager
Klement's Sausage Co, Inc.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This is the RPG/400 Discussion Mailing List!  To submit a new         *
* message, send your mail to "RPG400-L@midrange.com".  To unsubscribe   *
* from this list send email to MAJORDOMO@midrange.com and specify       *
* 'unsubscribe RPG400-L' in the body of your message.  Questions should *
* be directed to the list owner / operator: david@midrange.com          *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.