diff options
Diffstat (limited to 'man3/getservent.3')
-rw-r--r-- | man3/getservent.3 | 115 |
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) |