Commit Graph

1272 Commits

Author SHA1 Message Date
kleink 1c7e2b47c4 Provide select() and pselect() prototypes in <sys/select.h>, per
1003.1-2001, and leave the select() prototype in <unistd.h> for
compatibility.  To allow for transition, reorganization of this is
deferred until netbsd-3 gets branched.
2005-03-05 19:48:38 +00:00
dsl d4ffd091c4 Change __aconst to const so I can compile systat and vmstat with WARNS=3 2005-02-26 21:16:35 +00:00
christos 1f09c87798 Add newer constants from FreeBSD and constify. 2005-02-19 21:57:19 +00:00
kleink fd5cb0acea A little libc namespace housekeeping exercise:
* Make vfprintf_unlocked() an internal function, c.f. __svfscanf_unlocked().
* Add internal names for arc4random(), endnetpath(), fhstatvfs(),
  fstatvfs(), mkstemp(), shquote(), statvfs(), taddr2uaddr(), uaddr2taddr(),
  uuid_create_nil(), uuid_is_nil(), and wcwidth().
* Include namespace.h where supposed to.
2005-02-09 21:35:46 +00:00
perry fc7ef6c165 remove obsolete register declarations. 2005-02-06 04:41:40 +00:00
perry bbac53bdab Remove "register" from a comment. Kind of silly for it to have been
listed as a parameter for a function anyway...
2005-02-06 04:40:51 +00:00
perry ee5442c7d9 remove obsolete "register" declarations 2005-02-06 04:38:18 +00:00
perry 19b7469a00 de-__P -- the hack is long since useless. Discussed with christos,
matt, kleink, others. Approved by christos.
2005-02-03 04:39:32 +00:00
drochner e3842bbd8e Remove the remains of "struct sigcontext" and sigreturn() from the
user visible namespace.
These weren't supported interfaces for a while (it just happened to
work with COMPAT_16 kernels).
There are still internal uses in compat code and as jmp_buf format,
but this is all md code which uses <machine/signal.h>.
with christos' agreement
2005-01-20 20:42:05 +00:00
christos 4f49701cc6 modify footprint of pw_gensalt(). 2005-01-12 03:33:32 +00:00
christos ce097a4b71 add pw_getpwconf() 2005-01-12 03:33:11 +00:00
christos a2bc0c9d37 Add pw_gensalt, remove bcrypt_gensalt. 2005-01-11 22:41:50 +00:00
lukem 1e281ed227 Only #define HAVE_IPV6 if ${USE_INET6} != "no". 2005-01-10 03:11:17 +00:00
lukem a3665ef9cf Implement getgroupmembership(3). This is similar to getgrouplist(3), except
that the "int maxgroups" and "int *ngroups" parameters are separated into
two separate parameters which makes it possible to call multiple nsswitch
back-ends and have the results correctly merged.
getgrouplist(3) is now implemented using getgroupmembership(3).

Proposed on tech-userlevel on December 1, 2004.
2005-01-06 15:10:45 +00:00
christos 0e466f4a8a Provide forward struct declarations for struct sigcontext*; this will allow
us to get rid of them in the machine/signal.h files.
2004-12-31 18:06:16 +00:00
christos 0e1ce86abc cast 1 to size_t 2004-12-30 04:58:40 +00:00
atatat 2803cf768c Add a function called getdevmajor().
It tells you the major device number for whatever character or block
device you ask it.  This is sort of the inverse of devname(3) but not
quite, since it's backed by the kernel (sysctl's kern.drivers
information) and not a database cobbled together from the contents of
the filesystem.
2004-12-16 03:54:56 +00:00
nathanw 5229c9f993 Nuke threadlib.h. Library defensive threading is now provided through the
normal pthread.h interface.
Move stubs for libc back into a libc-internal header.
2004-12-14 00:23:19 +00:00
nathanw 30b299d965 __libc_thr_yield() signature now matches sched_yield().
Pointed out by Kouichirou Hiratsuka on current-users.
2004-12-13 16:08:12 +00:00
christos 402493043d Sprinkle const. 2004-12-11 06:41:57 +00:00
christos 678d9ffc1a Add _PATH_FTPUSERS; sort. 2004-12-11 06:01:33 +00:00
nathanw 0eaa8971b7 Use CPP macros to cause many libpthread functions used by applications
to be transformed into the do-nothing-when-libpthread-isn't-linked libc
stub names. This will permit library code that uses <pthread.h> and pthread
functions "defensively" to not need to link against libpthread and not need
to be patched to the threadlib.h API.
2004-12-10 16:40:40 +00:00
christos 36b10a0f21 Add _PATH_BPF 2004-12-01 22:51:50 +00:00
christos 52dcabadf5 Add sockaddr_snprintf() 2004-11-19 21:39:03 +00:00
itojun 384b8c15c2 remove NI_WITHSCOPEID 2004-11-16 06:00:51 +00:00
christos bcec1bd48c Add _PATH_DEV_PTS 2004-11-11 03:10:57 +00:00
lukem 5994f053ec * Improve the comments in <nsswitch.h>
* Provide some more useful default ns_src arrays.
2004-11-10 07:23:32 +00:00
lukem 246f6fd919 Implement sysconf(3) _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX for
the 1003.1-2001 Thread Safe Functions (TSF) getgrnam_r(3) and getpwnam_r(3).

These are not implemented in sysctl(3) "user.*", since that adds a lot
of complexity in the implementation for no real benefit.
2004-11-10 04:02:52 +00:00
christos 88ae7d9d8f Resolve conflicts. 2004-11-07 01:48:01 +00:00
christos 98e5db9d1f Re-import these. I imported the old ones accidentally. 2004-11-07 01:28:27 +00:00
dsl 96a5d45d4c Remove the (int) cast from the array subscript of the ctype #defines.
The cast just stops gcc detecting places where the functions are
passed a 'char' variable - and will index off the array for byte values
0x80 to 0xff.
All (I hope) of the places in the netbsd sources where this was a
potential problem have had an (unsigned char) cast applied.
Christos said he'll fix any fallout I've missed.
2004-11-05 22:55:19 +00:00
lukem 45a7a69275 Overhaul the use of nsdispatch(3) by public APIs so that the back-end
methods use va_list in a manner that is directly related to the public API.
This makes it much easier to write dynamic nsswitch backends for getpwent(3).
Per my proposal on tech-userlevel.

Implement getpwgid_r() and getpwnam_r() APIs per the POSIX 1003.1, 2004 Ed.
These aren't fully reentrant or threadsafe yet, because the compat stuff
currently uses non-reentrant data sources (getnetgrent(3), getpwent(3)),
and there is probably some locking to be improved in the backends.
This will be fixed in the near future.
We also need to add _SC_GETPW_R_SIZE_MAX to sysconf(3).

Fix the compat `+' prototype override so getpwnam(3) and getpwuid(3) DTRT.

Improve the description of pw_class and pw_gecos.
2004-10-05 04:45:54 +00:00
lukem c54f283e46 Overhaul the use of nsdispatch(3) by public APIs so that the back-end
methods use va_list in a manner that is directly related to the public API.
This makes it much easier to write dynamic nsswitch backends for getgrent(3).
Per my proposal on tech-userlevel.

Implement getgrgid_r() and getgrnam_r() APIs per the POSIX 1003.1, 2004 Ed.
These aren't fully reentrant or threadsafe yet, because the compat stuff
currently uses non-reentrant data sources (getnetgrent(3), getgrent(3)),
and there is probably some locking to be improved in the backends.
This will be fixed in the near future.
We also need to add _SC_GETGR_R_SIZE_MAX to sysconf(3).
2004-10-04 04:11:33 +00:00
lukem 25d91a60fb * Re-number NS_FORCEALL from 1<<7 to 1<<8, moving it out of the "public"
bitrange for nsdispatch(3) return values.
* Tweak documentation comments in nsswitch.h
* Ensure the result from the back-end method is masked with
  NS_STATUSMASK before nsdispatch(3) returns it.
2004-10-04 04:02:27 +00:00
kent 4a79196841 correct the return value type of _lwp_self() 2004-10-02 07:59:11 +00:00
lukem e775b9e35a Implement NS_FORCEALL, which may be set in defaults[0].flags by a caller of
nsdispatch(3) to indicate that all available database methods for a source
will be invoked.  This is useful for functions such as endgrent(3).
2004-09-29 02:47:32 +00:00
lha 22aae06570 update heimdal version to Heimdal 0.6.3 2004-09-14 20:30:57 +00:00
lha 2c875217bb Merge in changes between 0.6.2 and 0.6.3 2004-09-14 08:08:19 +00:00
thorpej de1dfb1250 DCE 1.1 RPC compatible UUID routines for libc, adapted from FreeBSD.
Encode/decode to big/little endian binary blob routines adapted from
kernel.

PR 23470.
2004-09-13 21:44:54 +00:00
christos 458810afd4 Typo... 2004-08-19 23:10:40 +00:00
christos 44a8d4af42 Rescue for _PATH_STDPATH 2004-08-19 23:07:01 +00:00
jmc a2d438e65c Fix proto for gethostent to match reality (takes void args) 2004-08-17 04:24:16 +00:00
ginsbach 30ef75e3f4 Restore gethostent() as a supported interface. Yes, it maybe obsolete
but it is specified by IEEE Std 1003.1, 2004 Edition (POSIX) and
the X/Open standards (Issue 6 and XNS 5.2).

* revert change removing gethostent() from gethostbyname(3) man page
* delete kruft from gethnamaddr.c leaving only gethostent() as a
  wrapper around _gethtent().
* revert recent changes to <netdb.h>
  + restore gethostent() prototype
  + restore freehostent() prototype; handle similar to non-shipped
    getipnodby*() prototypes
  + use correct XOPEN_SOURCE version (520 not 500) for freeaddrinfo()
    prototype; interface specified by XNS5.2 not XNS5

Reviewd by <christos> and <drochner>.
2004-08-17 02:29:56 +00:00
ginsbach ebcc92c100 * add const qualifier making getrpcbyname() and getrpcbyname_r()
prototypes match those used in latest Sun RPC code (TI-RPC 2.3)
* modify function getrpcbyname() definition as appropriate
2004-08-16 02:47:54 +00:00
drochner e6dd3245b7 Delete prototypes for gethostent() and freehostent();
there functions don't exist in libc.
2004-08-11 16:13:00 +00:00
thorpej 7c161da819 - Rename pw_copy() to pw_copyx(), make it return a success/failure code,
and add "errbuf" and "errbufsz" parameters so that errors can be handled
  gracefully, rather than simply exiting the process.
- Add a pw_copy() wrapper around pw_copyx() to preserve old behavior for
  apps that use it.
- Bump shlib version to 7.4.
2004-08-03 23:29:04 +00:00
tshiozak f7d656a488 revert the last all changes related to iconv(3). 2004-08-02 13:38:21 +00:00
tshiozak ab8d4be7c6 make sure that the iconv(3) follows the POSIX specification;
change the 2nd argument from "const char ** restrict" to "char ** restrict".
2004-08-01 16:40:58 +00:00
thorpej 43d6d8d887 Add support for dynamically loading nsswitch modules on ELF platforms.
Adapted from FreeBSD.  Maintains full backward API / ABI compatbility
with built-in-only nsdispatch().

While here, also make nsdispatch() itself thread-safe.
2004-07-24 18:42:51 +00:00
seb 2f8bbc118e Add wordexp(3). The wordexp function performs shell-style word expansions.
This implementation is wrapper around the undocumented wordexp sh(1)
built-in command.

From FreeBSD.
Provided in PR lib/26123.
Approved by kleink@.
2004-07-13 15:42:03 +00:00
kleink 2284f27adc Move round() to the C99 section. 2004-07-12 23:44:52 +00:00
kleink cceefa7be9 Move the strcasestr() prototype to the local extensions section.
Also __P() it; this should be consistent within a single header.
2004-07-12 23:35:14 +00:00
junyoung bc836a3102 lib/24252: Add C99 functions round(3) and roundf(3).
libm minor unchanged; ride a recent bump.

From FreeBSD.
2004-07-10 13:49:09 +00:00
junyoung 74d67c3551 Add strcasestr(3), case insensitive version of strstr(3).
Bump libc minor.

From FreeBSD.
2004-07-03 08:27:25 +00:00
kleink 7e47c9f64e Resolve some namespace protection confusion between XPG4.2 and 5/1003.1b,
making _XOPEN_SOURCE_EXTENDED work again.  Fixes PR lib/26077.
2004-07-01 23:46:07 +00:00
kleink 11f7fb5f29 Tidy up the namespace: lint -> __lint__. 2004-07-01 22:31:28 +00:00
drochner 147d852dbc being here, add the (l)lround(f) functions to libm
(almost the same like lrint)
2004-07-01 16:09:21 +00:00
drochner b6fcfe5309 shut up lint's "long long" warnings 2004-06-30 17:51:09 +00:00
drochner 737ab05bf9 Add (l)lrint(f).
Being here, move some C99 function declarations into the appropriate
section (as discussed with kleink).
2004-06-30 15:11:05 +00:00
jmc b2f782612f Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
2004-06-20 22:20:14 +00:00
christos e89baaa3bf Provide an ifdef so that we can define an old style _res if we need to. 2004-06-09 18:04:05 +00:00
mrg 5fb3053fed add $NetBSD$ 2004-06-06 06:58:50 +00:00
he 726e232131 Removr parameter names from __h_errno_set() function declaration.
Without this the vax port fails to compile the okheaders regression
test, because the "err" parameter name shadows a global variable.
2004-06-04 09:54:03 +00:00
kleink a95e31fea6 Move declaration of closefrom(3) to local extensions. 2004-06-01 16:10:29 +00:00
itojun 56c1b44159 implement closefrom(3). 2004-05-31 05:06:51 +00:00
christos 388c103e83 PR/25003: John Kohl: File is missing a copyright. 2004-05-28 14:38:53 +00:00
christos 58fadb2d69 Add unix/98 pty function prototypes. 2004-05-27 02:58:14 +00:00
christos 5fec60124f PR/25707: Love: remove _LIBC from res_state as suggested, so that res_ninit
calls in userland don't trash memory.
2004-05-26 01:08:50 +00:00
christos afa83b513a notyet is in the users namespace as pointed out by klaus. 2004-05-25 14:49:38 +00:00
christos fdaf51dfc9 we don't implement getipnode*(), so don't define their flags for now. It
confuses some software (ntpd).
2004-05-25 13:55:48 +00:00
lha 76164d845a Now that we have res_nsearch, use it. Thanks christos for adding it. 2004-05-25 11:15:43 +00:00
yamt 7ca373cce9 remove a duplicated prototype of getprotoent_r. 2004-05-24 12:34:28 +00:00
kleink c3d77c559b Implement sigemptyset() and sigfillset() not as macros but as inline
functions, just like the rest of the sigsetops.  From J.T.Conklin
in PR lib/25627; originally prompted to work around problems with
an application but also fixing one important bug: per POSIX, these
functions may be additionally implemented as macros, iff they evaluate
their macros only once.  This was not the case.
2004-05-23 23:03:24 +00:00
christos cad3251cd9 Provide access to the 5 symbols the bind8 resolver libc did. 2004-05-22 23:46:16 +00:00
christos c5167ccf84 provide unconditional access to _res via __res_state(). This will abort
for multi-threaded programs.
2004-05-22 15:42:17 +00:00
christos a39aed56f5 install new files. 2004-05-21 02:27:35 +00:00
christos b74cd7536f resolve conflicts. 2004-05-21 02:25:10 +00:00
christos d922106ab4 import new and changed files from bind9 2004-05-21 02:17:49 +00:00
christos 3bffc96400 Import selected changes from bind9. Follow the copyright structure there. 2004-05-21 02:14:39 +00:00
christos ad7bdf9185 add 2 new functions from bind9 2004-05-21 01:53:17 +00:00
kleink 867f8a88f2 Make it possible to use <stdbool.h> in C++ applications.
Fixes PR lib/25597 from Takuya SHIOZAKI.
2004-05-20 17:49:32 +00:00
kleink 3788baa149 Remove _assert() again. As has been noted by Ben Harris, this had been
removed already in rev. 1.4 and was subsequently reinstated by the
Lite-2 import.  Nothing uses it, and it pollutes user namespace.
2004-05-18 21:03:08 +00:00
kleink 8df3999b0c While I'm at it: add restrict qualifiers to readlink(2). 2004-05-10 22:33:08 +00:00
kleink 43b7ae77fa POSIX-2001: Change readlink(2)'s return type from int to ssize_t. 2004-05-10 22:28:23 +00:00
drochner 4bf1529244 remove fgetstr() from public sight 2004-05-10 16:53:56 +00:00
kleink c19ffd7809 C99: Provide WCHAR_{MAX,MIN} via <machine/wchar_limits.h> (we'll also
provide WINT_{MAX,MIN} along with it).
Fixes PR standards/24040 from Masao Uebayashi.
2004-05-08 21:57:05 +00:00
kleink 5f2ea73659 * __sparc64__ -> __sparc__ && _LP64,
* add a comment on the purpose of __ai_pad0.
Both suggested by mrg.
2004-05-08 18:55:23 +00:00
kleink 8d54bc1847 struct netnet.n_net used to be an unsigned long integer.
In XNS5, and subsequently in POSIX-2001 it was changed to socklen_t.

To accomodate for this while preserving binary compatibility with the
old interface, prepend or append 32 bits of padding, depending on
the (LP64 data model) architecture's endianness.  Fixes PR
standards/21411 from Ben Harris.

This should be deleted the next time the libc major number is
incremented.

Also, update getnetbyaddr(3)'s `net' argument accordingly.
2004-05-08 18:52:15 +00:00
lha bba70dc29c Merge changes between Heimdal 0.6.1 and 0.6.2 2004-05-08 13:27:58 +00:00
kleink dbfbef898d XPG4.2: Change member `dsize' of struct datum from int to size_t.
Version dbm_{delete,fetch,firstkey,nextkey,store}() accordingly.
Fixes PRs standards/21402 from Ben Harris and standards/25343 from
Murray Armfield.
2004-04-28 00:10:52 +00:00
kleink cd7b32a9cf Un-__P(). 2004-04-27 20:59:43 +00:00
kleink 22c4c0ea8f Remove declaration of dbm_forder(), which is not implemented. 2004-04-27 20:13:46 +00:00
christos fe069d7c1f more const sprinkling on cget* suggested by kleink. 2004-04-23 14:44:54 +00:00
christos e1beeda0ae constify the db name vector argument. 2004-04-23 14:37:42 +00:00
christos 3b237aad69 constify setdisktab() 2004-04-23 14:37:12 +00:00
christos 63f41ce367 add fgetstr 2004-04-21 00:05:05 +00:00
itojun 0fc4d34dfc fix comment (there could be more than 3 AI_xxx) 2004-04-14 04:37:59 +00:00
itojun a1b7e86ab4 implement AI_NUMERICSERV (as defined in RFC3493) 2004-04-14 04:37:06 +00:00
lha 4d21efe5f7 Merge changes between heimdal-0.6 and heimdal-0.6.1 2004-04-02 14:59:46 +00:00
joda d3dc070ae7 turbo-upgrade to Heimdal 0.6 (this was somehow missed when 0.6 was imported) 2004-03-24 20:48:34 +00:00
christos 639e111c0e Do not expose the current implementation of the serv*_r proto*_r functions,
since this is not how we will implement them when we do. From discussions
with Brian Ginsbach and Soda-san.
2004-03-20 18:22:22 +00:00
kleink 8e54f10bf7 * Turn isinf(3) and isnan(3) into C99-style macros.
* Make it possible for ports to override these (i.e., VAX).
* Remove isnanl(), which was internal to libc only.
2004-03-04 23:42:38 +00:00
kleink 642c4f3f10 Make lint happy for __fpmacro_unary_floating() users. 2004-03-04 00:17:44 +00:00
christos a2ef38401f in servent and protent data:
- add a dummy field for extensions.
- add a line field to keep the current line buffer.
2004-02-23 16:05:19 +00:00
christos 885e0fc7f3 protoent_r/servent_r 2004-02-19 19:30:30 +00:00
kleink 15afe0b4fc Move FP_ROP and FP_DIRTYZERO from <math.h> to <vax/math.h> (where they
would have ended up if I hadn't missed the latter file in the commit).
2004-01-20 19:52:40 +00:00
matt 20fe2d9da9 Add FP_ROP and FP_DIRTYZERO to MD range for VAX. 2004-01-20 19:26:53 +00:00
yamt eecd1e664f explicitly cast langinfo constants to nl_item. 2004-01-18 09:07:07 +00:00
uwe 11b19038f9 Close the comment after #endif. 2004-01-17 01:04:46 +00:00
kleink d82e732345 Add C99 fpclassify(), isfinite(), isnormal(), and signbit() macros. 2004-01-15 19:43:44 +00:00
cl 90e89977d4 - libc.so.12.109 and libpthread.so.0.4
- add ssize_t stackinfo_offset argument to sa_register syscall
- remove sa_unblockyield syscall
- make __sigprocmask14 syscall weak
- in pthread__sa_start: catch up with 4-argument sa_register syscall
2004-01-02 18:56:39 +00:00
kleink 413b3367fe Do a little const cleanup, for consistency with std interfaces. 2003-12-21 23:19:02 +00:00
agc 7db1d33cba Modify the licences of code written by Theo De Raadt from a 4-clause
to a 2-clause licence (retaining UCB clauses (1) and (2)), per PR
22409 from Joel Baker, approved by Theo de Raadt, and ratified by
myself - the only discrepancy being the handling of the original
clause 3 in src/usr.sbin/yppoll/yppoll.c.
2003-12-10 12:06:25 +00:00
thorpej 137c808bb8 Userland portion of fsync_range(2), written by Bill Studenmund, and
contributed by Wasabi Systems, Inc.
2003-11-18 00:56:56 +00:00
dbj e7faadcf38 ifdef out file when HAVE_NBTOOL_CONFIG_H is defined to avoid
conflicting definitions when building host tools
2003-11-12 19:50:46 +00:00
lukem 5dfdeb16e3 pull in nbtool_config.h #if HAVE_NBTOOL_CONFIG_H 2003-10-27 03:46:15 +00:00
kleink 793c50136c C99 7.12#4: provide INFINITY, which defaults to HUGE_VALF.
If infinities are not available, the machine-dependent header must define
__INFINITY as a positive constant of type float that overflows.
2003-10-26 00:02:02 +00:00
kleink adb0aada40 C99: provide HUGE_VALF and HUGE_VALL. 2003-10-25 22:35:46 +00:00
kleink 22c6452bfb _ISO_C99_SOURCE -> _ISOC99_SOURCE 2003-10-22 15:51:18 +00:00
tron 162ada1c8b Replace symbolic link "/usr/include/varargs.h" (pointing to
"/usr/include/machine/varargs.h") by a stub include file which will
emit an error if GCC 3.3 or newer is used and include "machine/varargs.h"
otherwise.

Based on a suggestion by Richard Earnshaw. This fixes PR toolchain/22888
by myself.
2003-10-14 12:46:44 +00:00
thorpej fc8c8a08ca "force" is not an inverted option; fix it. 2003-10-13 17:55:11 +00:00
agc 9f1aac5bb3 Move Jason Downs's code from a 4-clause to a 3-clause licence by
removing the advertising clause.  Diffs provided in PR 22410 by Joel
Baker, confirmed to the board by Jason Downs.

With additional thanks to Jason Thorpe.
2003-10-13 15:36:33 +00:00
christos f1f16d70f5 Remove Berkeley's advertising clause 3. 2003-10-13 15:31:35 +00:00
dsl af4b8ed37d Add _PATH_CONSTTY as "/dev/constty" 2003-10-03 13:17:12 +00:00
christos 46a53ee354 make some files symlinks from sys. 2003-10-01 01:35:39 +00:00
christos 3b665646d7 include <sys/md.?> versions. 2003-09-30 19:18:28 +00:00
christos 12461381f5 Include <sys/sha1.h> instead of copying its contents. 2003-09-30 19:15:42 +00:00
jdolecek bb21f0beb4 remove pw_dup() 2003-09-18 09:24:35 +00:00
cl 5c40d56471 fix SA/pthread pagefault failure:
- prevent BLOCKED upcalls on double page faults and during upcalls
- make libpthread handle blocked threads which hold locks
- prevent UNBLOCKED upcalls from overtaking their BLOCKED upcall
this adds a new syscall sa_unblockyield
see also http://mail-index.netbsd.org/tech-kern/2003/09/15/0020.html
2003-09-16 13:51:31 +00:00
kleink 9865e7ff1d Sprinkle restrict into timer_{create,settime}(2). 2003-09-13 22:31:04 +00:00
christos f2b01de1f8 don't put __libc_sigaction14 under __LIBC12_SOURCE__. It is wrong, because
then we have to define __LIBC12_SOURCE__ from __sigaction14_sigtramp.c and
that has the side effect of redefining struct sigaction to the old one.
2003-09-12 20:27:50 +00:00
christos 62da681012 s/COMPAT_16/__HAVE_SIGINFO/ pointed out by wiz. 2003-09-11 14:04:50 +00:00
christos 2232e7d76f sigreturn is not visible unless COMPAT_16 is enabled. 2003-09-11 13:12:52 +00:00
itojun 00552ebbd7 add randomid(3). 2003-09-09 22:10:33 +00:00
itojun 99dfdf20e2 prototype for pw_dup(3) 2003-09-09 22:05:38 +00:00
itojun 8531990138 forgot to commit; des api change 2003-09-08 15:48:11 +00:00
mrg 1a086c6b25 introduce an additional switch to enable building GCC3 instead of GCC2:
HAVE_GCC3.  if this is set, we also set USE_TOOLS_TOOLCHAIN=no.  change
the definition of the former to be restricted to whether tools/toolchain
is used or not.
2003-08-27 16:03:17 +00:00
wiz 31fd31ccf7 Make getlastlogx have the pathname to the lastlogx database as first
argument, to be consistent with updlastlogx.

Approved by christos, reviewed by kleink.

[The lastlogxname function should not be used any longer.]
2003-08-26 16:48:32 +00:00
kleink f518dc7e04 Sprinkle some restrict, repair a minor nit in iconv(3)'s synopsis. 2003-08-22 14:05:03 +00:00
agc 039cc95684 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22270, verified by myself.
2003-08-07 09:44:09 +00:00
salo 6ac55ad469 netbsd.org->NetBSD.org 2003-07-26 17:35:00 +00:00
mrg b1774706ae install stdbool.h if gcc3 2003-07-26 15:27:13 +00:00
itojun e63468d8cc split MKKERBEROS4 from MKKERBEROS. based on work by lha at stacken.kth.se
(build confirmed with both MKKERBEROS4=yes and MKKERBEROS4=no)
2003-07-23 08:01:24 +00:00
nathanw ddd6fd5414 Add setcancelstate stub. 2003-07-19 05:05:28 +00:00
nathanw 1c5f5912e9 Synchronize the featuretest set for pthreads stuff to
_POSIX_C_SOURCE >= 199506L, _XOPEN_SOURCE >= 500, or _NETBSD_SOURCE.
2003-07-18 17:54:35 +00:00
thorpej b65cdc9721 Back out previous; it is not correct. 2003-07-18 15:50:01 +00:00
lukem f46e3353de for now, pull in <pthread_types.h> to get pthread_t for the
pthread_kill() prototype to work ...

this is probably not the correct long term solution, but the tree is
currently broken without it...
2003-07-18 08:53:42 +00:00
nathanw 86b9f2f3b1 Now that sys/types.h defines pthread_t, the forward structure
declaration for pthread_st isn't necessary (and is why I missed that
it was necessary before, as I already had the sys/types.h change in my
local tree).
2003-07-17 23:04:43 +00:00
bjh21 e3167f6ca1 Change !_ANSI_SOURCE to _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE. 2003-07-17 22:39:43 +00:00
martin 791508af9b Use a forward declaration equivalent to pthread_t instead of the
(undefined here) pthread_t.
2003-07-17 09:01:54 +00:00
nathanw ffb042ea86 Give the pthread_kill() prototype here, as required. 2003-07-16 21:15:43 +00:00
nathanw c35f5dd38e Add the _POSIX_THREAD and _POSIX_TIMER mandated minimum limits. 2003-07-16 21:03:54 +00:00
kristerw a7c803af07 Remove variable names from prototypes. 2003-07-09 01:59:34 +00:00
itojun 04392e7f81 prototype must not have variable name 2003-07-08 05:39:23 +00:00
kristerw c1f62bbe29 Do not give names to the parameters in function prototypes (those names
reduces the usefulness of the gcc -Wshadow flag).
2003-07-08 01:43:28 +00:00
tshiozak b42cc81ee4 add definisions for ERA* and ALT_DIGITS. 2003-07-04 04:46:14 +00:00
skrll 3605f02195 Remove reference to dlinfo - it doesn't exist in NetBSD. 2003-07-01 15:02:01 +00:00
tshiozak 2fbaee419e change iconv_t definision : void * -> struct __tag_iconv_t *.
suggested by yamt.
2003-07-01 08:54:57 +00:00
kleink f77e77ff4b Remove whitespace accident in previous; spotted by Thomas Klausner. 2003-06-30 15:45:02 +00:00
kleink 5a44432bf1 Sprinkle some restrict. 2003-06-30 15:14:17 +00:00
tshiozak ff5c3e6895 Citrus iconv support(4)
add iconv external I/F (iconv.h - iconv_open()/iconv()/iconv_close()) and
iconv(1) utility.
TODO:
  - bump libc minor.
  - add iconv data files.
  - create manpages: iconv_open(3)/iconv(3)/iconv_close(3)/iconv(1)/
    mkesdb(1)/mkcsmapper(1).
2003-06-27 05:21:49 +00:00
tshiozak 04e58308a3 Citrus iconv support (1)
add core engine of Citrus iconv and some support routines.
  - iconv core (citrus_iconv)
  - coded character set mapper (csmapper)
  - encoding scheme database (esdb)
  - standard encoding scheme handler (stdenc)
  - basic character set manipulation utilities (bcs)
  - mmap based infrastructure (citrus_lookup/_mmap/_memstream/_db)
  - some source codes of new plugins (not built yet)
2003-06-25 09:51:26 +00:00
briggs 39d51ab631 Define the maximum segment size allowed under RFC 2348 (TFTP Blocksize Option)
Define the opcode for an option ACK and error code for a failed option
negotiation from RFC 2347 (TFTP Option Extension).
2003-06-11 01:41:14 +00:00
bjh21 ffa655f9a4 EBENISANIDIOT: Remove a spurious '#endif' that crept in under the radar. 2003-06-05 18:37:45 +00:00
bjh21 9656aaa598 P_tmpdir isn't in POSIX, so only define it for _XOPEN_SOURCE and
_NETBSD_SOURCE.
2003-06-05 17:51:10 +00:00
bjh21 37a103a1fa Namespace cleanup: _assert is in the application's namespace, and thus should
only be exposed if _NETBSD_SOURCE is defined.  To make life less complicated,
define _assert() in terms of assert(), since they always seem to have identical
definitions.

_assert() was removed back in 1993, but got reinstated with the 4.4Lite
import.  Maybe it should go again.  Nothing in the tree uses it.
2003-06-05 17:27:14 +00:00
christos 4e9f5413f5 Add RTLD_SELF, RTLD_NEXT, RTLD_DEFAULT, from FreeBSD 2003-05-30 15:44:03 +00:00
christos 0cc4f4a69e add mutex locking and dirent_r. 2003-05-28 20:04:12 +00:00
thorpej 200111747f Add long double support. 2003-05-17 20:42:28 +00:00
lha 3ca42f1c25 regenerate files for heimdal 0.6 2003-05-15 22:58:02 +00:00
bjh21 d2fb15abf0 bcrypt_gensalt() isn't defined in any X/Open standard I've got convenient
access to, so move it into the _NETBSD_SOURCE section.
2003-05-05 14:49:31 +00:00
bjh21 86abe62ffa Header cleanup:
* IPv6 functions are in POSIX-2001, so make them visible there.
* freehostent(), getipnodebyaddr() and getipnodebyname() are _only_ in
  XNS5.2, so don't expose them to XSH6 or POSIX applications.
2003-05-05 14:20:03 +00:00
bjh21 77de1304d5 Fix the signatures of inet_addr(), inet_lnaof(), inet_makeaddr(), inet_netof(),
and inet_network() to match XNS and (where applicable) POSIX.  This is largely
just the replacement of unsigned long with in_addr_t.

This constitutes a small ABI change on sh5, but scw (sh5 portmaster) thinks
that both the users of that port will be able to cope.  kleink claims the
change is ABI-neutral on other LP64 ports, and it's a no-op on ILP32 ports.
Hence, I'm doing it this way and avoiding the whole __RENAME dance.
2003-05-05 13:56:13 +00:00
lukem 803e64c800 add _PATH_RANDOM and _PATH_URANDOM 2003-05-03 03:24:01 +00:00
bjh21 8758baf5b6 Fix things so that _NETBSD_SOURCE correctly exposes the dirfd() and
the insides of struct _dirdesc.  Also make the existence of struct
_dirdesc visible to POSIX applications since this is less ugly than
pretending that DIR is a void *.
2003-04-29 23:08:13 +00:00
bjh21 3a344e272f Header file cleanup:
* Sort includes.
* isblank() is in C99, POSIX 2001 and XSH6.  Update ifdefs accordingly.
2003-04-29 12:49:38 +00:00
bjh21 fac4f2f505 Header file cleanup:
* Don't include <sys/param.h>
* Assume that NetBSD is a BSD system and hence has <sys/types.h>
* inet_pton() and inet_ntop() were in XNS 5.2 (not 5.0) and POSIX 2001.
  Update #ifdefs accordingly.

XXX Types of inet_addr() and inet_makeaddr() are still wrong.
XXX Might want __restrict on inet_ntop() and inet_pton().
2003-04-29 11:58:15 +00:00
bjh21 4be7a2dcf3 Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
  can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
  various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
  !defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them.  In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
2003-04-28 23:16:11 +00:00
ragge 5a10a8c4a9 Add _PATH_KSYMS. 2003-04-24 20:13:05 +00:00
christos 290d5e3632 don't use TRUE or FALSE 2003-04-19 01:40:36 +00:00
kleink 8c5e6bc1d8 Well, _The_ Open Group. 2003-04-14 08:38:24 +00:00
kleink c9e531d4d4 Use the real TOG specification name for references. 2003-04-14 08:37:29 +00:00
jdolecek e75e2e6438 seteuid() and setegid() were adopted in IEEE Std 1003.1-2001 + X/Open
portability guide issue 6, adjust headers to expose the function
prototypes with appropriate _POSIX_C_SOURCE/_XOPEN_SOURCE defines
fixes standards/21136 by MAEKAWA Masahide
2003-04-14 08:12:11 +00:00
christos 8099c8302c add functions to retrieve option values. 2003-04-11 17:36:57 +00:00
kleink 13dee93fb3 1003.1-2001 has introduced unsetenv() which differs from the current
implementation in not permitting a "name=value" argument.
* Add a conforming __unsetenv13() and do function renaming for
  unsetenv(); preserve old symbol with old behavior.
* Make visible setenv() and unsetenv() for 1003.1-2001 feature selection
  macros; resolves PR standards/20479.
2003-04-07 13:41:13 +00:00
fvdl 42614ed3f3 Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
2003-04-02 10:39:19 +00:00
jdolecek bd2847705c install mntopts.h 2003-03-22 12:45:51 +00:00
jdolecek 1edd42a9d2 move getmntopts(3) to libutil, build and install also it's manpage
bump libutil minor
adjust individual mount_*/Makefile to use libutil getmntopts(3)
2003-03-22 12:43:57 +00:00
lha fb58dd8ee5 set version to 0.5nb2 (fix of Kerberos 4 protocol problem) 2003-03-20 19:25:48 +00:00
christos edd9f0f170 x_handy is currently used only by xdr_mem and contains the number of bytes
left. make it unsigned.
2003-03-19 23:51:55 +00:00
tshiozak 3f9925f700 add wcstoll, wcstoimax, wcstoull and wcstoumax. (lib/20656)
- these are defined in C99 (wcsto[ui]max) and SUSv3.
  - these implementations are written by sigsegv@s25.xrea.com,
    derived from NetBSD's wcstol/wcstoul.
  - I just added some comments.
2003-03-11 09:21:22 +00:00
tshiozak 5abc4b4f43 add fgetws() and fputws() (lib/20576).
Note: fgetws.c, fgetws.3, fputws.c and fputws.3 are obtained from FreeBSD,
and fitted by sigsegv@infoseek.jp and me.
2003-03-07 07:11:35 +00:00
tshiozak 326ed36874 changes related to lib/20576 and lib/20577.
- add wcstok() and wcswcs(),
  - add wcstok(3),
  - move btowc() and wctob() into each ctype modules,
  - bump ctype interface ABI version,
  - bump i18n modules' minor and
  - update sets.
and fix a stupid bug in _RUNE_ISCACHED macro.
2003-03-05 20:18:14 +00:00
tshiozak 5af70bc478 - add wctob() function. (I forgot it at the last commit.)
- fix btowc(); I quite misunderstood about it.
2003-03-03 07:39:53 +00:00
tshiozak 31e2cbf0b5 add some ISO C 1995 I18N functions and types:
btowc, wctrans, towctrans, wcscoll, wcsxfrm, wctype_t and wctrans_t.
2003-03-02 22:18:11 +00:00
bjh21 22ebd2b34b Add _Exit(), for C99 and POSIX-2001.
Proposed on tech-userlevel to a resounding silence in April last year.
2003-03-01 15:59:02 +00:00
kleink 898beee0b0 As with _REENTRANT, don't provide simple non-locking macro versions of
several functions when _PTHREADS is defined (usually via cc -pthread).
2003-02-27 15:56:04 +00:00
jdolecek af3d346a8c add POSIX sigtimedwait(), sigwaitinfo(), sigwait() - wait for queued signals
note these are for non-threaded programs only - libpthread will provide
it's own thread-aware wrapper
2003-02-15 21:11:47 +00:00
kleink d58cfc7d35 Sprinkle some restrict. 2003-02-05 23:13:07 +00:00
wiz 7bd6fd354d unknown, not unkown. Noted by mjl. 2003-01-28 22:19:22 +00:00
elric bcc72a236b The last change I made was a little aggressive in changing the paths of
the includes and broke cross builds from non-NetBSD arches.  In this I
revert the problem section.  (pointed out by uwe.)
2003-01-27 06:19:40 +00:00
elric 91654e3d23 Prepend krb5/ to include paths that live in /usr/include/krb5/ so that
we can deprecate the requirement of -I/usr/include/krb5 when building
kerberos apps.
2003-01-26 22:19:36 +00:00
fvdl a3ff3a3038 Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
kleink fb7df61857 Sprinkle some restrict. 2003-01-21 17:45:04 +00:00
kleink 95893ccc7b Need <sys/cdefs.h>. 2003-01-21 12:27:11 +00:00
christos 3f4a1907c6 add support for p1003.1b semaphores. From FreeBSD 2003-01-20 20:09:50 +00:00
thorpej 7dc01dbfab Add some threadlib stubs that are used by X:
* thr_create() (stub in libc aborts)
* thr_exit() (stub in libc calls exit())
* thr_yield() (stub in libc does nothing)

Also make the libc thr_self() stub not abort.

XXX Should we add thrattr_*() stubs for setting the detach-state?
2003-01-19 21:58:21 +00:00
thorpej 0c8ccd6d1f * Wrap decls in __BEGIN_DECLS/__END_DECLS.
* Add a thr_enabled() which returns the value of libc's __isthreaded
  variable, indicating whether or not threads are actually enabled.
2003-01-19 21:06:02 +00:00
thorpej 592409d356 Add mutexattr_init(), mutexattr_destroy(), and mutexattr_settype() (recursive
mutexes are used by the X libraries).
2003-01-19 20:46:11 +00:00
thorpej ba54189cb1 Expose libc's thread stubs, which get magically turned into real pthread
calls when the pthread library is linked in.  Simplifies making other
libraries (such as X's) thread-safe.
2003-01-19 19:24:39 +00:00
thorpej 08fd7e9bb7 Merge the nathanw_sa branch. 2003-01-18 18:05:05 +00:00
christos c6e0fe9a2b oops, erased word accidentally. 2003-01-18 17:12:13 +00:00
christos 32c802c315 avoid TMP_MAX redefinition 2003-01-18 17:10:16 +00:00
thorpej c62a74e6d5 Merge the nathanw_sa branch. 2003-01-18 10:32:11 +00:00
kleink 30a90a73b4 Add sighold(3), sigignore(3), sigrelse(3) and sigset(3) to libc.
Fixes PR lib/19212, now redesignated standards/19212, from David Laight.
2003-01-15 23:55:41 +00:00
tron 503456a35a Include "bsd.rpc.mk" before "bsd.prog.mk" to fix the "cleandir" target. 2003-01-11 13:28:43 +00:00
wiz c053751628 compatibility, not compatiblity. 2003-01-06 13:26:24 +00:00
wiz 4824190751 transmission, not transmition. 2003-01-06 13:17:01 +00:00
sommerfeld 8f6f405641 Use <bsd.rpc.mk> 2003-01-05 19:24:06 +00:00
augustss 4be0da5b3b Add _PATH_SYSMON. 2003-01-01 12:15:16 +00:00
atatat 5ea6c6f13e Spelling police. "__resitrct" was not spelled cirectly enough. 2002-12-20 20:59:22 +00:00
lukem 32d2556b0c this needs <sys/types.h> 2002-12-12 23:00:37 +00:00
scw 0c83fd4944 Add getlabelsector() and getlabeloffset() as wrappers around the
KERN_LABELSECTOR and KERN_LABELOFFSET sysctls.
2002-12-12 09:45:32 +00:00
christos d8c7cd31c5 New auth length defines. We don't play with sockaddr for now. Also make
the list of commands const.
2002-11-30 04:02:19 +00:00
lukem b1e79510cf - Migrate fparseln(3) from libutil to libc, where it should have been in
the first place...
- Bump libutil major (to 7.0) and libc minor (to 12.91).
2002-11-30 03:04:44 +00:00
lukem 6ca5b5bb68 add strsuftoll(3) and strsuftollx(3) - parse a string for a number
with an optional suffix, product (two numbers separated by `x'), and
provide range checking
2002-11-29 12:58:14 +00:00
kleink 4f7792917a Update for 1003.1-2001 base and XSI changes. 2002-11-18 13:39:33 +00:00
thorpej 21353eb9a6 Make fts_pathlen and fts_nitems unsigned. 2002-11-11 01:07:08 +00:00
fvdl 858b3fd46a Include rpc_com.h. 2002-11-08 00:10:58 +00:00
fvdl 0a46d2378d include rpc_com.h, and define SVC{GET,SET}_CONNMAXREC 2002-11-08 00:10:44 +00:00
fvdl c6e006104d Install rpc_com.h 2002-11-08 00:08:38 +00:00
fvdl 00503f61de Moved here from libc/rpc. Install this in /usr/include/rpc, just
like on Solaris. This wasn't done before, since it only contained
internal libc interfaces. These have been moved to rpc_internal.h,
and this file now contains some actual exported definitions.
2002-11-08 00:08:20 +00:00
joda 2a0b34371c set version to 0.5nb1 2002-10-21 21:10:59 +00:00
elric 4b6afdd53e add prototypes for disklabel_dkcksum() and disklabel_scan(). 2002-10-12 20:46:57 +00:00
provos b899aa2abc implement FNM_LEADING_DIR; matches Linux and other *BSDs; approved thorpej 2002-10-06 03:15:45 +00:00
christos dfbaa22bd7 Assign to TNF. 2002-10-04 11:42:38 +00:00
mycroft 016f903642 select() -> poll() 2002-09-20 21:48:58 +00:00
mycroft ee48615074 select() -> poll() 2002-09-20 21:34:31 +00:00
christos 6a066bf4a4 Add snprintb(3) 2002-09-20 21:11:36 +00:00
lukem 99fe9d3e76 minor makefile delint 2002-09-18 06:17:38 +00:00
joda a8826a31ce update to newer versions 2002-09-12 13:32:37 +00:00
itojun d4a64790e3 remove unused/unsupported AI_xx. notified by PR 18072 2002-08-26 13:38:19 +00:00
enami 38540fc05e Cosmetic changes. 2002-08-15 04:47:12 +00:00
abs 35a808e4e8 Add humanize_number.3 from Tomas Svensson in PR lib/15508.
Bump version of libutil
2002-08-08 16:50:35 +00:00
soren b377ecd704 Back out previous - I was confused. 2002-08-04 18:06:54 +00:00
soren f745d16995 Per IEEE 1003.1-2001, omit from <limits.h> those Pathname Variable Values
that may vary between filesystems: _POSIX_LINK_MAX, _POSIX_NAME_MAX, and
_POSIX_PATH_MAX. These are to be obtained from pathconf() instead.
2002-08-04 05:41:58 +00:00
soren c6f042d6fc As of IEEE (POSIX) 1003.1-2001, _POSIX_PATH_MAX must be at least 256 rather
than 255 and is now defined to include the terminating NUL.
2002-08-04 05:22:34 +00:00
christos 2caaca4c2b Add __P(()); noticed by wiz. 2002-07-28 22:48:38 +00:00
christos f04f8bc949 add utmpname() 2002-07-28 21:45:39 +00:00
christos 2004baccd5 add some utmp processing functions. 2002-07-27 23:57:02 +00:00