diff options
Diffstat (limited to 'lib/libcompat/4.1')
-rw-r--r-- | lib/libcompat/4.1/ascftime.c | 52 | ||||
-rw-r--r-- | lib/libcompat/4.1/cftime.3 | 99 | ||||
-rw-r--r-- | lib/libcompat/4.1/cftime.c | 53 | ||||
-rw-r--r-- | lib/libcompat/4.1/ftime.3 | 84 | ||||
-rw-r--r-- | lib/libcompat/4.1/ftime.c | 54 | ||||
-rw-r--r-- | lib/libcompat/4.1/getpw.3 | 86 | ||||
-rw-r--r-- | lib/libcompat/4.1/getpw.c | 58 | ||||
-rw-r--r-- | lib/libcompat/4.1/gtty.c | 52 | ||||
-rw-r--r-- | lib/libcompat/4.1/stty.3 | 93 | ||||
-rw-r--r-- | lib/libcompat/4.1/stty.c | 52 | ||||
-rw-r--r-- | lib/libcompat/4.1/vlimit.3 | 125 | ||||
-rw-r--r-- | lib/libcompat/4.1/vtimes.3 | 143 |
12 files changed, 951 insertions, 0 deletions
diff --git a/lib/libcompat/4.1/ascftime.c b/lib/libcompat/4.1/ascftime.c new file mode 100644 index 0000000..e842b6e --- /dev/null +++ b/lib/libcompat/4.1/ascftime.c @@ -0,0 +1,52 @@ +/* + * Copyright (c) 1994 Joerg Wunsch + * + * All rights reserved. + * + * This program is free software. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Joerg Wunsch + * 4. The name of the developer may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id$ + */ + +#include <time.h> + +#define MAXLEN 1000 /* just a guess, only the user knows... */ + +int +#if __STDC__ +ascftime(char *s, const char *format, const struct tm *tmptr) +#else +ascftime(s, format, tmptr) + char *s; + char *format; + struct tm *tmptr; +#endif +{ + return strftime(s, MAXLEN, format? format: "%C", tmptr); +} diff --git a/lib/libcompat/4.1/cftime.3 b/lib/libcompat/4.1/cftime.3 new file mode 100644 index 0000000..5c760a9 --- /dev/null +++ b/lib/libcompat/4.1/cftime.3 @@ -0,0 +1,99 @@ +.\" +.\" Copyright (c) 1994, 1995 Joerg Wunsch +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Joerg Wunsch +.\" 4. The name of the developer may not be used to endorse or promote +.\" products derived from this software without specific prior written +.\" permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" +.\" $Id$ +.\" +.Dd June 15, 1993 +.Os +.Dt CFTIME 3 +.Sh NAME +.Nm cftime +.Nm ascftime +.Nd convert date and time to string +.Sh SYNOPSIS +.Fd #include <time.h> +.Ft int +.Fn cftime "char *s" "char *format" "const time_t *clock" ; +.Ft int +.Fn ascftime "char *s" "const char *format" "const struct tm *tmptr" ; +.Sh DESCRIPTION +.Bf -symbolic +The cftime and ascftime functions are made obsolete by strftime(3). +.br +They are available from the compatibility library, libcompat. +.Ef +.Pp +Use of the functions +.Nm cftime +and +.Nm ascftime +is strongly deprecated, since there is no way to check for a buffer +overflow condition. Use +.Xr strftime 3 +instead. + +.Nm Ascftime +is almost identical with +.Xr strftime 3 , +with the only exception there's no parameter to tell about the +maximal buffer length, and the +.Fa format +parameter defaults to +.Dq %C +if a +.Em NULL +pointer is given. + +.Nm Cftime +does the same job, but it first invokes +.Xr localtime 3 +in order to convert the given +.Fa clock , +then also performs the conversions as requested by the +.Fa format +argument. + +.Sh RETURN VALUES +The +.Nm cftime +and +.Nm ascftime +functions return the number of characters written to the output +buffer +.Fa s , +not counting the trailing null character. + +.Sh SEE ALSO +.Xr localtime 3 , +.Xr strftime 3 . diff --git a/lib/libcompat/4.1/cftime.c b/lib/libcompat/4.1/cftime.c new file mode 100644 index 0000000..2e3a34b --- /dev/null +++ b/lib/libcompat/4.1/cftime.c @@ -0,0 +1,53 @@ +/* + * Copyright (c) 1994 Joerg Wunsch + * + * All rights reserved. + * + * This program is free software. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Joerg Wunsch + * 4. The name of the developer may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id$ + */ + +#include <time.h> + +#define MAXLEN 1000 /* just a guess, only the user knows... */ + +int +#if __STDC__ +cftime(char *s, char *format, const time_t *clock) +#else +cftime(s, format, clock) + char *s; + char *format; + time_t *clock; +#endif +{ + return strftime(s, MAXLEN, format? format: "%C", localtime(clock)); +} + diff --git a/lib/libcompat/4.1/ftime.3 b/lib/libcompat/4.1/ftime.3 new file mode 100644 index 0000000..c1e9c3a --- /dev/null +++ b/lib/libcompat/4.1/ftime.3 @@ -0,0 +1,84 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)ftime.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt FTIME 3 +.Os BSD 4 +.Sh NAME +.Nm ftime +.Nd get date and time +.Sh SYNOPSIS +.Fd #include <sys/types.h> +.Fd #include <sys/timeb.h> +.Ft int +.Fn ftime "struct timeb *tp" +.Sh DESCRIPTION +.Bf -symbolic +This interface is obsoleted by gettimeofday(2). +.Pp +It is available from the compatibility library, libcompat. +.Ef +.Pp +The +.Fn ftime +routine fills in a structure pointed to by its argument, +as defined by +.Aq Pa sys/timeb.h : +.Bd -literal -offset indent +/* + * Structure returned by ftime system call + */ +struct timeb +{ + time_t time; + unsigned short millitm; + short timezone; + short dstflag; +}; +.Ed +.Pp +The structure contains the time since the epoch in seconds, +up to 1000 milliseconds of more-precise interval, +the local time zone (measured in minutes of time westward from Greenwich), +and a flag that, if nonzero, indicates that +Daylight Saving time applies locally during the appropriate part of the year. +.Sh SEE ALSO +.Xr gettimeofday 2 , +.Xr settimeofday 2 , +.Xr time 3 , +.Xr ctime 3 +.Sh HISTORY +The +.Nm +function appeared in +.Bx 4.2 . diff --git a/lib/libcompat/4.1/ftime.c b/lib/libcompat/4.1/ftime.c new file mode 100644 index 0000000..8f6efb1 --- /dev/null +++ b/lib/libcompat/4.1/ftime.c @@ -0,0 +1,54 @@ +/* + * Copyright (c) 1994 Christopher G. Demetriou + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Christopher G. Demetriou. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef lint +static char rcsid[] = "$Id: ftime.c,v 1.1.1.1 1994/05/27 10:33:22 rgrimes Exp $"; +#endif /* not lint */ + +#include <sys/types.h> +#include <sys/time.h> +#include <sys/timeb.h> + +int +ftime(tbp) + struct timeb *tbp; +{ + struct timezone tz; + struct timeval t; + + if (gettimeofday(&t, &tz) < 0) + return (-1); + tbp->millitm = t.tv_usec / 1000; + tbp->time = t.tv_sec; + tbp->timezone = tz.tz_minuteswest; + tbp->dstflag = tz.tz_dsttime; + + return (0); +} diff --git a/lib/libcompat/4.1/getpw.3 b/lib/libcompat/4.1/getpw.3 new file mode 100644 index 0000000..4cf160c --- /dev/null +++ b/lib/libcompat/4.1/getpw.3 @@ -0,0 +1,86 @@ +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)getpw.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt GETPW 3 +.Os +.Sh NAME +.Nm getpw +.Nd get name from uid +.Sh SYNOPSIS +.Fn getpw uid "char *buf" +.Sh DESCRIPTION +.Bf -symbolic +The getpw function is made obsolete by getpwuid(3). +.br +It is available from the compatibility library, libcompat. +.Ef +.Pp +The +.Fn getpw +function reads the file +.Pa /etc/passwd , +and if it finds +the specified +.Fa uid , +copies the password entry line into the string pointed to by +.Fa buf . +the null terminated entry line from the password database, +and appends the +.Dv NUL +character. +.Sh RETURN VALUES +The +.Fn getpw +function returns the zero if successful, otherwise +a non-zero if the entry does not exist. +.Sh FILES +.Bl -tag -width /etc/passwd - compact +.It Pa /etc/passwd +.El +.Sh SEE ALSO +.Xr getpwent 3 , +.Xr passwd 5 +.Sh HISTORY +A +.Fn getpw +function appeared in +.At v6 . +.Sh BUGS +The area pointed to by +.Fa buf +must be large enough to hold the user name. + +All of the bugs from +.Xr getpwent 3 +hold valid as well. diff --git a/lib/libcompat/4.1/getpw.c b/lib/libcompat/4.1/getpw.c new file mode 100644 index 0000000..5ea696a --- /dev/null +++ b/lib/libcompat/4.1/getpw.c @@ -0,0 +1,58 @@ +/* + * Copyright (c) 1995 Joerg Wunsch + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Joerg Wunsch + * 4. The name of the developer may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id: getpw.c,v 1.1 1995/04/10 18:47:55 joerg Exp $ + */ + +#include <sys/types.h> +#include <pwd.h> +#include <string.h> +#include <stdio.h> + +int +#if __STDC__ +getpw(uid_t uid, char *buf) +#else +getpw(uid, buf) + uid_t uid; + char *buf; +#endif +{ + struct passwd *pw; + + pw = getpwuid(uid); + endpwent(); + + if(pw == 0) return -1; + + strncpy(buf, pw->pw_name, L_cuserid); + return 0; +} diff --git a/lib/libcompat/4.1/gtty.c b/lib/libcompat/4.1/gtty.c new file mode 100644 index 0000000..7875399 --- /dev/null +++ b/lib/libcompat/4.1/gtty.c @@ -0,0 +1,52 @@ +/* + * Copyright (c) 1994 Christopher G. Demetriou + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Christopher G. Demetriou. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef lint +static char rcsid[] = "$Id: gtty.c,v 1.1.1.1 1994/05/27 10:33:22 rgrimes Exp $"; +#endif /* not lint */ + +#include <sgtty.h> + +/* + * Get tty modes. + * This was defined in ioctl_compat.h as: + * #define gtty(fd, tty) ioctl(fd, TIOCGETP, tty) + */ + +#undef gtty + +int +gtty(fd, tty) + int fd; + struct sgttyb *tty; +{ + + return (ioctl(fd, TIOCGETP, tty)); +} diff --git a/lib/libcompat/4.1/stty.3 b/lib/libcompat/4.1/stty.3 new file mode 100644 index 0000000..eb3a5c8 --- /dev/null +++ b/lib/libcompat/4.1/stty.3 @@ -0,0 +1,93 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)stty.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt STTY 3 +.Os BSD 4.2 +.Sh NAME +.Nm stty , +.Nm gtty +.Nd set and get terminal state (defunct) +.Sh SYNOPSIS +.Fd #include <sgtty.h> +.Fn stty "int fd" "struct sgttyb *buf" +.Fn gtty "int fd" "struct sgttyb *buf" +.Sh DESCRIPTION +.Bf -symbolic +These interfaces are obsoleted by ioctl(2). +They are available from the compatibility library, libcompat. +.Ef +.Pp +The +.Fn stty +function +sets the state of the terminal associated with +.Fa fd . +The +.Fn gtty +function +retrieves the state of the terminal associated +with +.Fa fd . +To set the state of a terminal the call must have +write permission. +.Pp +The +.Fn stty +call is actually +.Ql ioctl(fd, TIOCSETP, buf) , +while +the +.Fn gtty +call is +.Ql ioctl(fd, TIOCGETP, buf) . +See +.Xr ioctl 2 +and +.Xr tty 4 +for an explanation. +.Sh DIAGNOSTICS +If the call is successful 0 is returned, otherwise \-1 is +returned and the global variable +.Va errno +contains the reason for the failure. +.Sh SEE ALSO +.Xr ioctl 2 , +.Xr tty 4 +.Sh HISTORY +The +.Fn stty +and +.Fn gtty +functions appeared in +.Bx 4.2 . diff --git a/lib/libcompat/4.1/stty.c b/lib/libcompat/4.1/stty.c new file mode 100644 index 0000000..91d241b --- /dev/null +++ b/lib/libcompat/4.1/stty.c @@ -0,0 +1,52 @@ +/* + * Copyright (c) 1994 Christopher G. Demetriou + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Christopher G. Demetriou. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef lint +static char rcsid[] = "$Id: stty.c,v 1.1.1.1 1994/05/27 10:33:22 rgrimes Exp $"; +#endif /* not lint */ + +#include <sgtty.h> + +/* + * Set tty modes. + * This was defined in ioctl_compat.h as: + * #define stty(fd, tty) ioctl(fd, TIOCSETP, tty) + */ + +#undef stty + +int +stty(fd, tty) + int fd; + struct sgttyb *tty; +{ + + return (ioctl(fd, TIOCSETP, tty)); +} diff --git a/lib/libcompat/4.1/vlimit.3 b/lib/libcompat/4.1/vlimit.3 new file mode 100644 index 0000000..4736800 --- /dev/null +++ b/lib/libcompat/4.1/vlimit.3 @@ -0,0 +1,125 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)vlimit.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt VLIMIT 3 +.Os BSD 4 +.Sh NAME +.Nm vlimit +.Nd control maximum system resource consumption +.Sh SYNOPSIS +.Fd #include <sys/vlimit.h> +.Fn vlimit resource value +.Sh DESCRIPTION +.Bf -symbolic +This interface is obsoleted by getrlimit(2). +It is available from the compatibility library, libcompat. +.Ef +.Pp +Limits the consumption by the current process and each process +it creates to not individually exceed +.Fa value +on the specified +.Fa resource . +If +.Fa value +is specified as \-1, then the current limit is returned and the +limit is unchanged. +The resources which are currently controllable are: +.Bl -tag -width LIM_NORAISE +.It Dv LIM_NORAISE +A pseudo-limit; if set non-zero then the limits may not be raised. +Only the super-user may remove the +.Em noraise +restriction. +.It Dv LIM_CPU +the maximum +number of cpu-seconds to be used by each process +.It Dv LIM_FSIZE +the largest single file which can be created +.It Dv LIM_DATA +the maximum growth of the data+stack region via +.Xr sbrk 2 +beyond the end of the program text +.It Dv LIM_STACK +the maximum +size of the automatically-extended stack region +.It Dv LIM_CORE +the size of the largest core dump that will be created. +.It Dv LIM_MAXRSS +a soft limit for the amount of physical memory (in bytes) to be given +to the program. If memory is tight, the system will prefer to take memory +from processes which are exceeding their declared +.Dv LIM_MAXRSS. +.El +.Pp +Because this information is stored in the per-process information +this system call must be executed directly by the shell if it +is to affect all future processes created by the shell; +.Xr limit +is thus a built-in command to +.Xr csh 1 . +.Pp +The system refuses to extend the data or stack space when the limits +would be exceeded in the normal way; a +.Xr brk 2 +call fails if the data space limit is reached, or the process is +killed when the stack limit is reached (since the stack cannot be +extended, there is no way to send a signal!). +.Pp +A file +.Tn I/O +operation which would create a file which is too large +will cause a signal +.Dv SIGXFSZ +to be generated, this normally terminates +the process, but may be caught. +When the cpu time limit is exceeded, a signal +.Dv SIGXCPU +is sent to the +offending process; to allow it time to process the signal it is +given 5 seconds grace by raising the +.Tn CPU +time limit. +.Sh SEE ALSO +.Xr csh 1 +.Sh HISTORY +The +.Fn vlimit +function appeared in +.Bx 4.2 . +.Sh BUGS +.Dv LIM_NORAISE +no longer exists. + +This function has not yet been reimplemented. diff --git a/lib/libcompat/4.1/vtimes.3 b/lib/libcompat/4.1/vtimes.3 new file mode 100644 index 0000000..3edb741 --- /dev/null +++ b/lib/libcompat/4.1/vtimes.3 @@ -0,0 +1,143 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)vtimes.3 8.1 (Berkeley) 6/4/93 +.\" +.Dd June 4, 1993 +.Dt VTIMES 3 +.Os BSD 4 +.Sh NAME +.Nm vtimes +.Nd get information about resource utilization +.Sh SYNOPSIS +.Fd #include <sys/vtimes.h> +.Fn vtimes "struct vtimes *par_vm" "struct vtimes *ch_vm" +.Sh DESCRIPTION +.Bf -symbolic +This interface is obsoleted by getrusage(2). +It is available from the compatibility library, libcompat. +.Ef +.Pp +The +.Fn vtimes +function +returns accounting information for the current process and for +the terminated child processes of the current +process. Either +.Fa par_vm +or +.Fa ch_vm +or both may be 0, in which case only the information for the pointers +which are non-zero is returned. +.Pp +After the call, each buffer contains information as defined by the +contents of the include file +.Pa /usr/include/sys/vtimes.h : +.Bd -literal -offset indent +struct vtimes { + int vm_utime; /* user time (*HZ) */ + int vm_stime; /* system time (*HZ) */ + /* divide next two by utime+stime to get averages */ + unsigned vm_idsrss; /* integral of d+s rss */ + unsigned vm_ixrss; /* integral of text rss */ + int vm_maxrss; /* maximum rss */ + int vm_majflt; /* major page faults */ + int vm_minflt; /* minor page faults */ + int vm_nswap; /* number of swaps */ + int vm_inblk; /* block reads */ + int vm_oublk; /* block writes */ +}; +.Ed +.Pp +The +.Fa vm_utime +and +.Fa vm_stime +fields give the user and system +time respectively in 60ths of a second (or 50ths if that +is the frequency of wall current in your locality.) The +.Fa vm_idrss +and +.Fa vm_ixrss +measure memory usage. They are computed by integrating the number of +memory pages in use each +over +.Tn CPU +time. They are reported as though computed +discretely, adding the current memory usage (in 512 byte +pages) each time the clock ticks. If a process used 5 core +pages over 1 cpu-second for its data and stack, then +.Fa vm_idsrss +would have the value 5*60, where +.Fa vm_utime+vm_stime +would be the 60. +The +.Fa Vm_idsrss +argument +integrates data and stack segment +usage, while +.Fa vm_ixrss +integrates text segment usage. +The +.Fa Vm_maxrss +function +reports the maximum instantaneous sum of the +text+data+stack core-resident page count. +.Pp +The +.Fa vm_majflt +field gives the number of page faults which +resulted in disk activity; the +.Fa vm_minflt +field gives the +number of page faults incurred in simulation of reference +bits; +.Fa vm_nswap +is the number of swaps which occurred. The +number of file system input/output events are reported in +.Fa vm_inblk +and +.Fa vm_oublk +These numbers account only for real +.Tn I/O ; +data supplied by the caching mechanism is charged only +to the first process to read or write the data. +.Sh SEE ALSO +.Xr wait3 2 , +.Xr getrusage 2 , +.Xr time 3 +.Sh HISTORY +The +.Fn vlimit +function appeared in +.Bx 4.2 . +.Sh BUGS +This function has not yet been re-implemented. |