Commit Graph

57 Commits

Author SHA1 Message Date
tjr
e841a730a7 Style: One space between "restrict" qualifier and "*". 2002-09-06 11:24:06 +00:00
mike
5d0fbddc4d o Merge <machine/ansi.h> and <machine/types.h> into a new header
called <machine/_types.h>.
o <machine/ansi.h> will continue to live so it can define MD clock
  macros, which are only MD because of gratuitous differences between
  architectures.
o Change all headers to make use of this.  This mainly involves
  changing:
    #ifdef _BSD_FOO_T_
    typedef	_BSD_FOO_T_	foo_t;
    #undef _BSD_FOO_T_
    #endif
  to:
    #ifndef _FOO_T_DECLARED
    typedef	__foo_t	foo_t;
    #define	_FOO_T_DECLARED
    #endif

Concept by:	bde
Reviewed by:	jake, obrien
2002-08-21 16:20:02 +00:00
wollman
696729239a Support POSIX/SUS ``programming environment'' mistake in confstr(). 2002-07-15 22:21:33 +00:00
wollman
d56638f35a Move _CS_PATH from <sys/unistd.h> to <unistd.h> -- the kernel isn't involved
in confstr() processing.
2002-07-15 21:56:40 +00:00
wollman
fb56e65f4b getopt(3) was also added in 1003.2-1992. 2002-07-15 21:32:45 +00:00
wollman
7df7dac66e Fix visibility:
- symlink() is from 1003.1-2001 and XPG4.2
- fchown() is from 1003.1-2001
- fsync() is from ISO/IEC 9945-1:1995
- confstr() is from 1003.2-1992
2002-07-15 20:33:58 +00:00
wollman
b0461d297a Partially fix namespace visibility issues by using new visibility macros.
Some issues still remain, and will require research in old POSIX standards
if we care to get them right.
2002-06-15 23:35:37 +00:00
mike
8ad64a2619 o Implement <sys/_types.h>, a new header for storing types that are
MI, not required to be a fixed size, and used in multiple headers.
  This will grow in time, as more things move here from <sys/types.h>
  and <machine/ansi.h>.
o Add missing type definitions (uint16_t and uint32_t) to
  <arpa/inet.h> and <netinet/in.h>.
o Reduce pollution in <sys/types.h> by using `#if _FOO_T_DECLARED'
  widgets to avoid including <sys/stdint.h>.
o Add some missing type definitions to <unistd.h> and note the ones
  that still need to be added.
o Make use of <sys/_types.h> primitives in <grp.h> and <sys/types.h>.

Reviewed by:	bde
2002-04-01 08:12:25 +00:00
imp
f05b530a33 Breath deep and take __P out of the system include files.
# This appears to not break X11, but I'm having problems compiling the
# glide part of the server with or without this patch, so I can't tell
# for sure.
2002-03-23 17:24:55 +00:00
dwmalone
44d7b99475 Change brk's prototype from char *brk(const char *) to int brk(const void *)
and sbrk's prototype from char *sbrk(int) to void *sbrk(intptr_t).

This makes us more consistant with NetBSD and standards which include
these functions. Bruce pointed out that ptrdiff_t would probably
have been better than intptr_t, but this doesn't match other
implimentations.

Also remove local declarations of sbrk and unnecessary casting.

PR:		32296
Tested by:	Harti Brandt <brandt@fokus.gmd.de>
MFC after:	1 month
2002-01-24 12:11:31 +00:00
markm
59e341cc8a Use the proper type (gid_t) for (group)->gr_gid to be orthogonal
with uid_t usage and (user)->pw_uid.

PR:		3242
2002-01-22 17:32:53 +00:00
mike
2f4ea2b156 Fix support for K&R C.
MFC after:	3 days
2001-12-22 05:18:37 +00:00
alfred
4ff0014fab NFS split forgot to prototype nfsclnt() syscall, do it. 2001-11-13 09:07:31 +00:00
ru
1951c12567 - Put missing prototype for rcmd() in <unistd.h>.
- Clean up the manpage.
- style(9) rcmdsh.c.

Committed from:	BSDCon/EU 2k+1 terminal room
2001-11-09 15:19:25 +00:00
rwatson
059ccfa574 o Update unistd.h with the prototype for the new eaccess(2) system call.
Obtained from:	TrustedBSD Project
2001-09-21 22:50:39 +00:00
dd
e28e900e18 Implement getpeereid(3), a front-end to the LOCAL_PEERCRED
socket option for the Unix domain.  It's weaker than the
socket option (this only returns the uid and gid, while the
socket opt. can return the entire group list), and is
implemented mostly for compatibility with OpenBSD.
2001-08-17 22:09:15 +00:00
rnordier
2defe9354b Drop nested __P(). This trips up Supelec's dcc. 2001-05-27 19:57:36 +00:00
deischen
5d88cdc41f Change prototype to getlogin_r to reflect recent change to its
implementation (conformance to '96 POSIX standard).
2001-01-01 13:35:04 +00:00
brian
1f10f736fa Move setproctitle() from libutil to libc (after a repo-copy)
and bump __FreeBSD_version to 500012 to mark the occasion.

setproctitle() is prototyped in unistd.h as opposed to stdlib.h
where OpenBSD and NetBSD have it.

Reviewed by: peter
2000-09-02 01:51:36 +00:00
green
83520f8d05 Add working and easy crypt(3)-switching. Yes, we need a whole new API
for crypt(3) by now.  In any case:

Add crypt_set_format(3) + documentation to -lcrypt.
Add login_setcryptfmt(3) + documentation to -lutil.
Support for switching crypt formats in passwd(8).
Support for switching crypt formats in pw(8).

The simple synopsis is:
edit login.conf; add a passwd_format field set to "des" or "md5"; go nuts :)

Reviewed by:	peter
2000-08-22 02:15:54 +00:00
peter
5f77e29365 Add a prototype for rfork_thread().
pid_t rfork_thread(int forkflags, void *stack, int (*func)(void *arg),
                   void *arg);
A new process is created, presumably using RFMEM shared address space.
The child process switches to the supplied stack, which is set up with a
function call frame.  The function is called with the supplied arguement.
If the function returns, the return value will be used with _exit(2).
2000-07-29 11:53:35 +00:00
joe
86a510e789 Add strtofflags and fflagstostr to libc. 2000-06-17 11:55:57 +00:00
joe
bb1bbb6d1f Revert part of the last commit, remove {g|s}etflags from the libc
interface, and statically link them to the programs using them.
These functions, upon reflection and discussion, are too generically
named for a library interface with such specific functionality.
Also the api that they use, whilst ok for private use, isn't good
enough for a libc function.

Additionally there were complications with the build/install-world
process.  It depends heavily upon xinstall, which got broken by
the change in api, and caused bootstrap problems and general mayhem.

There is work in progress to address future problems that may be
caused by changes in install-chain tools, and better names for
{g|s}etflags can be derived when some future program requires them.
For now the code has been left in src/lib/libc/gen (it started off
in src/bin/ls).

It's important to provide library functions for manipulating file
flag strings if we ever want this interface to be adopted outside
of the source tree, but now isn't necessarily the right moment
with 4.0-release just around the corner.

Approved:	jkh
2000-02-05 18:42:36 +00:00
shin
60b73eb436 sync iruserok() extension API with other BSDs
Some of rcmd related function is need to be updated to
  support IPv6. Some of them are already updated as standard
  document. But there is also several de-facto functions and
  they are not listed in standard documents.
  They are,

    iruserok()  (used by rlogind, rshd)
    ruserok()   (used by kerberos, etc)

  KAME package updated those functions in original way.

    iruserok_af()
    ruserok_af()

  But recently there was discussion on IETF IPng mailing
  list about how to sync those API, and it is decided,

    -Those function is not standard and not documented.
    -But let BSDs sync their API as de-facto.

  And after some discussion, it is announced that

    -add update to iruserok() as iruserok_sa()
    -no ruserok() API change(it is only updated internaly)

So I sync those API before 4.0 is released.
The changes are,
   -prototype changes
   -ruserok() internal update (use iruserok_sa() inside)
   -removal of ruserok_af()
   -change iruserok_af() as static functioin, and also prefix the name with __.
   -add iruserok_sa() (Just call __iruserok_af() inside)
   -adding flag AI_ALL to getipnodebyaddr() called from __icheckhost().
    This is necessary to support IPv4 communication via AF_INET6 socket
    could be correctly authenticated via iruserok_sa()
   -irusreok_af() call is replaced to iruserok_sa() call
    in rlogind, and rshd.

Approved by: jkh
2000-02-01 15:55:56 +00:00
joe
a3a381812b Historically file flags (schg, uschg, etc) have been converted from
string to u_long and back using two functions, flags_to_string and
string_to_flags, which co-existed with 'ls'.  As time has progressed
more and more other tools have used these private functions to
manipulate the file flags.

Recently I moved these functions from /usr/src/bin/ls to libutil,
but after some discussion with bde it's been decided that they
really ought to go in libc.

There are two already existing libc functions for manipulating file
modes:  setmode and getmode.  In keeping with these flags_to_string
has been renamed getflags and string_to_flags to setflags.

The manual page could probably be improved upon ;)
2000-01-27 21:17:01 +00:00
shin
7c069c8355 several tcp apps IPv6 update
-inetd
 -rshd
 -rlogind
 -telnetd
 -rsh
 -rlogin

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
2000-01-25 14:52:10 +00:00
peter
5fda513245 Add prototypes for [sg]etres[ug]id(). 2000-01-17 13:32:55 +00:00
bde
87bad8bedf Fixed disordering, misformatting, and duplicate declaration of
iruserok_af() in previous commit.
2000-01-14 15:43:27 +00:00
shin
2efdfce495 libc rcmd update for IPv6.
A new function bindresvport2(), AF independent version of bindresvport()
is also added.

Reviewed by: sumikawa
Obtained from: KAME project
2000-01-13 15:09:48 +00:00
bde
3822ed3ac8 Fixed missing declaration of getlogin_r(3). 1999-12-23 16:06:12 +00:00
simokawa
948637b1f2 Make profil() 64bit-safe for alpha.
uintfptr_t may be better for offset, but we must wait until
the definition of uintfptr_t moves from machine/profile.h.

Reviewed by: bde
1999-07-16 06:28:55 +00:00
bde
5529a880a0 Declare mkstemps(). 1999-04-09 15:06:56 +00:00
dt
f5b80f522c Add prototypes for pread and pwrite. 1999-04-04 21:47:53 +00:00
msmith
a3f1f30436 optreset is a POSIX extension, make it visible in POSIX_SOURCE scope.
Submitted by:	 Andrzej Bialecki <abial@nask.pl>
1999-01-11 11:32:35 +00:00
msmith
d2244b14fd POSIX introduced optreset to deal with multiple invocations
of getopt (as in, multiple input lines :). This is documented in the
man page and is used in the code, but unistd.h and stand.h do not
declare it. Incidentally, it prevents me fixing a bug in loader's
code... :-)

PR:		misc/9373
Submitted by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-01-11 06:01:29 +00:00
bde
fdfd06ecda Fixed whitespace lossage and long lines in previous commit. 1998-07-11 13:25:09 +00:00
dt
9a60d7ac26 Declare lockf(). 1998-07-08 15:14:48 +00:00
brian
53ce99e56a Remove duplicate decls
Not objected to by: freebsd-hackers
1998-04-19 15:28:08 +00:00
bde
d2b76327b2 Added forgotten declaration of mkdtemp(). 1998-03-12 13:54:51 +00:00
ache
254cc0351e Change usleep return type from void to int to match OpenGroup specs. 1997-10-22 10:57:54 +00:00
peter
ed7dc25832 Prototypes for getsid() and getpgid(). Also, prefix type names in
setpgrp() prototype with _ as per style(9).
1997-08-19 06:19:45 +00:00
peter
93c2da6350 remove stray forward declaration for struct timespec
Pointed out by: bde
1997-05-13 09:25:15 +00:00
peter
f6a5eaf126 Oops, move clock_*() and nanosleep() to time.h
Submitted by: Peter Dufault <dufault@hda.com>
1997-05-12 12:58:40 +00:00
peter
5bf8948bb6 prototype clock_settime(), clock_gettime(), clock_getres(), nanosleep(). 1997-05-12 09:57:39 +00:00
bde
a88742ac00 #ifdef'ed the declaration of lseek() so that -Wredundant-decls doesn't
cause noise.

Duplicated the lseek() redeclaration hack for all functions involving
off_t's (ftruncate(), mmap() and truncate()) to help broken programs
work.
1997-04-13 15:38:10 +00:00
peter
6ea1633f1a Declare issetugid()
Submitted by: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>, PR#3200
1997-04-05 13:03:15 +00:00
peter
aaa9c184d3 Declare lchown().. 1997-03-31 12:52:52 +00:00
peter
c5ebecdfa9 Merge Lite2 changes -
move getopt etc declarations from stdlib.h to unistd.h
1997-03-11 11:18:25 +00:00
bde
071f2afd3e Don't use __dead or __pure in user code. They were obfuscations
for gcc >= 2.5 and no-ops for gcc >= 2.6.  Converted to use __dead2
or __pure2 where it wasn't already done, except in math.h where use
of __pure was mostly wrong.
1996-09-14 03:00:32 +00:00
bde
389718ae35 Fixed new and old standards conformance bugs. The non-POSIX confstr() was
in the POSIX section for a log time.  The non-POSIX getgrouplist() and
setgroups() were recently added to the POSIX section although setgroups()
was already in the non-POSIX section.
1996-07-17 10:52:38 +00:00