summaryrefslogtreecommitdiffstats
path: root/man3/getservent.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/getservent.3')
-rw-r--r--man3/getservent.3115
1 files changed, 115 insertions, 0 deletions
diff --git a/man3/getservent.3 b/man3/getservent.3
new file mode 100644
index 000000000..5500f5933
--- /dev/null
+++ b/man3/getservent.3
@@ -0,0 +1,115 @@
+.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" References consulted:
+.\" Linux libc source code
+.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
+.\" 386BSD man pages
+.\" Modified Sat Jul 24 19:19:11 1993 by Rik Faith (faith@cs.unc.edu)
+.\" Modified Wed Oct 18 20:23:54 1995 by Martin Schulze <joey@infodrom.north.de>
+.\" Modified Mon Apr 22 01:50:54 1996 by Martin Schulze <joey@infodrom.north.de>
+.\" 2001-07-25 added a clause about NULL proto (Martin Michlmayr or David N. Welton)
+.\"
+.TH GETSERVENT 3 2001-07-25 "BSD" "Linux Programmer's Manual"
+.SH NAME
+getservent, getservbyname, getservbyport, setservent, endservent \-
+get service entry
+.SH SYNOPSIS
+.nf
+.B #include <netdb.h>
+.sp
+.B struct servent *getservent(void);
+.sp
+.BI "struct servent *getservbyname(const char *" name ", const char *" proto );
+.sp
+.BI "struct servent *getservbyport(int " port ", const char *" proto );
+.sp
+.BI "void setservent(int " stayopen );
+.sp
+.B void endservent(void);
+.fi
+.SH DESCRIPTION
+The \fBgetservent()\fP function reads the next line from the file
+\fI/etc/services\fP and returns a structure \fIservent\fP containing
+the broken out fields from the line. The \fI/etc/services\fP file
+is opened if necessary.
+.PP
+The \fBgetservbyname()\fP function returns a \fIservent\fP structure
+for the line from \fI/etc/services\fP that matches the service
+\fIname\fP using protocol \fIproto\fP. If \fIproto\fP is NULL,
+any protocol will be matched.
+.PP
+The \fBgetservbyport()\fP function returns a \fIservent\fP structure
+for the line that matches the port \fIport\fP given in network byte order
+using protocol \fIproto\fP. If \fIproto\fP is NULL,
+any protocol will be matched.
+.PP
+The \fBsetservent()\fP function opens and rewinds the
+\fI/etc/services\fP file. If \fIstayopen\fP is true (1), then the
+file will not be closed between calls to \fBgetservbyname()\fP and
+\fBgetservbyport()\fP.
+.PP
+The \fBendservent()\fP function closes \fI/etc/services\fP.
+.PP
+The \fIservent\fP structure is defined in \fI<netdb.h>\fP as follows:
+.sp
+.RS
+.nf
+.ne 6
+.ta 8n 16n 32n
+struct servent {
+ char *s_name; /* official service name */
+ char **s_aliases; /* alias list */
+ int s_port; /* port number */
+ char *s_proto; /* protocol to use */
+}
+.ta
+.fi
+.RE
+.PP
+The members of the \fIservent\fP structure are:
+.TP
+.I s_name
+The official name of the service.
+.TP
+.I s_aliases
+A zero terminated list of alternative names for the service.
+.TP
+.I s_port
+The port number for the service given in network byte order.
+.TP
+.I s_proto
+The name of the protocol to use with this service.
+.SH "RETURN VALUE"
+The \fBgetservent()\fP, \fBgetservbyname()\fP and \fBgetservbyport()\fP
+functions return the \fIservent\fP structure, or a NULL pointer if an
+error occurs or the end of the file is reached.
+.SH FILES
+.TP
+.I /etc/services
+services database file
+.SH "CONFORMING TO"
+BSD 4.3
+.SH "SEE ALSO"
+.BR getnetent (3),
+.BR getprotoent (3),
+.BR services (5)