I am having an issue using getservbyport. Here is a little program to demonstrate the problem (removed the includes):
Here is how I am compiling and running this program
I was expecting to see "service name = smtp", since my /etc/services file contains the following two lines:
I tried this on two hosts with the same result. One has gcc 4.1.2 and the other has gcc 2.96. I also get the same result, on both hosts, if I specify the protocol to use when calling getservbyport (instead of NULL which matches any protocol).
Can anyone see what I am doing wrong, or why a NULL result from the call to getservbyport would say "Success" from the perror call? The man page for getservbyport says the following:
It could be reaching EOF, but again, the two lines are present for smtp in my /etc/services file.
I've got a very peculiar situation. I'm trying to find out if we can compare null fields with non-null. I've output csv files from SQL and Oracle. I need to compare each field from the files, and then find out any differences. The files usualy have over 500 fields, and send the resule to DBA.... (8 Replies)
Hi All,
In my application malloc is returning NULL even though there is sufficient amount of free memory is available but swap memory is low.
Is this possible that, if free memory is high & swap memory is low, malloc will not be able to allocate memory & return NULL ?:)
Kindly look into... (5 Replies)
Hi All,:)
In my application malloc is returning NULL even though there is sufficient amount of free memory available but the swap memory is low.
Is this possible that, if free memory is high & swap memory is low, malloc will not be able to allocate memory & return NULL ?
Few details:
... (4 Replies)
Hi,
The following shell script returning null results could you please tell me whats the problem in script,
*********************************
#!/bin/ksh
. $HOME/conf/systemProperties/EnvSetup.properties
a=`date +"%y%m%d"`
set -x
for i in `cat... (2 Replies)
I have an input file having 7 fields delimited by ,
eg :
1,ABC,hg,1,2,34,3
2,hj,YU,2,3,4,
3,JU,kl,4,5,7,
4,JK,KJ,3,56,4,5
The seventh field here in some lines is empty, whereas the other lines there is a value.
How do I insert string NULL at this location (7th loc) for these lines where... (8 Replies)
How are these two different? They both prevent output and error from being displayed. I don't see the use of the "&"
echo "hello" > /dev/null 2>&1
echo "hello" > /dev/null 2>1 (3 Replies)
OS : Solaris 10
When I try to get the "echo" service port, getservbyname is returning null.
I checked - /etc/services having an entry for echo -
echo 7/tcp (But still getservbyname returning null)
Any other config required to consider? (1 Reply)
I apologize if this question has been answered else where or is too elementary.
I ran across a KSH script (long unimportant story) that does this:
if ; then
CAS_SRC_LOG="/var/log/cas_src.log 2>&1"
else
CAS_SRC_LOG="/dev/null 2>&1"
fithen does this:
/usr/bin/echo "heartbeat:... (5 Replies)
I am calling getpwnam_r with all proper argument as below:-
rv = getpwnam_r(name, result, buffer, buflen);
This program runs fine on sol 8/9/10.
But on sol 11 it returns NULL with errno set to 25
(#define ENOTTY 25 /* Inappropriate ioctl for device */)
All boxes are... (2 Replies)
Hi All,
I am using malloc function for allocating dynamic memory.
When I am using below code on Linux server its working fine, but When I am trying the same code on HP UNIX server its returning NULL.
below is a fragment of code in which it is giving problem.
tmp = (format_tree... (4 Replies)
Discussion started by: Taher Saifuddin
4 Replies
LEARN ABOUT REDHAT
getservbyport
GETSERVENT(3) Linux Programmer's Manual GETSERVENT(3)NAME
getservent, getservbyname, getservbyport, setservent, endservent - get service entry
SYNOPSIS
#include <netdb.h>
struct servent *getservent(void);
struct servent *getservbyname(const char *name, const char *proto);
struct servent *getservbyport(int port, const char *proto);
void setservent(int stayopen);
void endservent(void);
DESCRIPTION
The getservent() function reads the next line from the file /etc/services and returns a structure servent containing the broken out fields
from the line. The /etc/services file is opened if necessary.
The getservbyname() function returns a servent structure for the line from /etc/services that matches the service name using protocol
proto. If proto is NULL, any protocol will be matched.
The getservbyport() function returns a servent structure for the line that matches the port port given in network byte order using protocol
proto. If proto is NULL, any protocol will be matched.
The setservent() function opens and rewinds the /etc/services file. If stayopen is true (1), then the file will not be closed between
calls to getservbyname() and getservbyport().
The endservent() function closes /etc/services.
The servent structure is defined in <netdb.h> as follows:
struct servent {
char *s_name; /* official service name */
char **s_aliases; /* alias list */
int s_port; /* port number */
char *s_proto; /* protocol to use */
}
The members of the servent structure are:
s_name The official name of the service.
s_aliases
A zero terminated list of alternative names for the service.
s_port The port number for the service given in network byte order.
s_proto
The name of the protocol to use with this service.
RETURN VALUE
The getservent(), getservbyname() and getservbyport() functions return the servent structure, or a NULL pointer if an error occurs or the
end of the file is reached.
FILES
/etc/services
services database file
CONFORMING TO
BSD 4.3
SEE ALSO getprotoent(3), getnetent(3), services(5)BSD 2001-07-25 GETSERVENT(3)