summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Implement cproj{,f,l}().das2008-08-071-0/+4
|
* Annotate creal(), cimag(), and conj() with __pure2.das2008-08-071-9/+10
|
* Add an implementation of the RPCSEC_GSS authentication protocol for RPC. Thisdfr2008-08-065-3/+248
| | | | | | | | is based on an old implementation from the University of Michigan with lots of changes and fixes by me and the addition of a Solaris-compatible API. Sponsored by: Isilon Systems Reviewed by: alfred
* Remove <sgtty.h> now it has no practical usage.ed2008-07-252-4/+1
| | | | | | | | | | When I turned sgtty into a binary-only interface (last month), I added this explicit #error to the header file, to make sure nobody forgot to remove the header file after updating world. I think it is now a good moment to remove this header file. Approved by: philip (mentor)
* Add arc4random_uniform()ache2008-07-221-0/+2
| | | | Obtained from: OpenBSD
* Add arc4random_buf.ache2008-07-211-1/+2
| | | | Style: remove arg names from arc4random_addrandom.
* posix_spawn() is supported, set _POSIX_SPAWN to 200212L.davidxu2008-07-081-1/+1
|
* Turn execvpe() into an internal libc routine.ed2008-06-231-1/+0
| | | | | | | | | | | | Adding exevpe() has caused some ports to break. Even though execvpe() is a useful routine, it does not conform to any standards. This patch is a little bit different from the patch sent to the mailing list. I forgot to remove execvpe from the Symbol.map (which does not seem to miscompile libc, though). Reviewed by: davidxu Approved by: philip
* Remove __restrict keywords from array arguments to make GCC's -std=c99 work.ed2008-06-191-2/+5
| | | | | | | | | | | | | | | | | When GCC is invoked with -std=c99, the following errors are displayed when including <spawn.h>: /usr/include/spawn.h:69: error: static or type qualifiers in abstract declarator /usr/include/spawn.h:69: error: static or type qualifiers in abstract declarator /usr/include/spawn.h:72: error: static or type qualifiers in abstract declarator /usr/include/spawn.h:72: error: static or type qualifiers in abstract declarator We'd better remove the __restrict keywords here. The same is also done in <regex.h>. Submitted by: Andrzej Tobola <ato iem pw edu pl> Reviewed by: davidxu Approved by: philip (mentor, implicit)
* Change my email address to the one from the FreeBSD project.ed2008-06-171-1/+1
| | | | Approved by: philip (mentor, implicit), davidxu
* Add POSIX routines called posix_spawn() and posix_spawnp(), whichdavidxu2008-06-173-1/+117
| | | | | | | | | can be used as replacements for exec/fork in a lot of cases. This change also added execvpe() which allows environment variable PATH to be used for searching executable file, it is used for implementing posix_spawnp(). PR: standards/122051
* Turn sgtty into a binary-only compatibility interface.ed2008-06-141-39/+3
| | | | | | | | | | | | | | | | sgtty was the original interface to configure terminal attributes on my UNIX-like operating systems. It has been deprecated by the POSIX termios interface, which is implemented in almost any modern system. An advantage of turning this into a binary compatibility interface, is that we can now eventually remove the COMPAT_43TTY switch from kernel configurations. This removes many ioctl()'s from the TTY layer. While there, increase the __FreeBSD_version, which may be useful for the people working on the Ports tree. Reviewed by: kib Approved by: philip (mentor)
* Make pthread_cleanup_push() and pthread_cleanup_pop() as a pair of macros,davidxu2008-06-091-2/+21
| | | | | | | use stack space to keep cleanup information, this eliminates overhead of calling malloc() and free() in thread library. Discussed on: thread@
* Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE andbz2008-05-261-15/+0
| | | | | | | | | | | | | | | | | | parts relied on the now removed NET_NEEDS_GIANT. Most of I4B has been disconnected from the build since July 2007 in HEAD/RELENG_7. This is what was removed: - configuration in /etc/isdn - examples - man pages - kernel configuration - sys/i4b (drivers, layers, include files) - user space tools - i4b support from ppp - further documentation Discussed with: rwatson, re
* Remove netatm from HEAD as it is not MPSAFE and relies on the now removedrwatson2008-05-251-2/+0
| | | | | | | | | | | | | | | | | | | NET_NEEDS_GIANT. netatm has been disconnected from the build for ten months in HEAD/RELENG_7. Specifics: - netatm include files - netatm command line management tools - libatm - ATM parts in rescue and sysinstall - sample configuration files and documents - kernel support as a module or in NOTES - netgraph wrapper nodes for netatm - ctags data for netatm. - netatm-specific device drivers. MFC after: 3 weeks Reviewed by: bz Discussed with: bms, bz, harti
* Expand dump to allow MAX_INT dump levels.mckusick2008-05-241-9/+0
| | | | | PR: bin/100732 Submitted by: Matthew Vincenz <msvincen@midway.uchicago.edu>
* Make this c++ compatible.dfr2008-05-161-0/+4
| | | | PR: 87726
* Add definition for OM_uint64.dfr2008-05-151-0/+1
| | | | Submitted by: tmclaugh
* Define the size_t type since readpassphrase(3) requires it in itsscf2008-05-081-0/+6
| | | | | | | definition and sys/types.h is not listed within the synopsis of the man page. MFC after: 1 week
* Tag FILE's _bf as being part of the public ABI as well due to the in-treejhb2008-05-071-1/+1
| | | | sort(1) referencing it.
* Fix conflicts after heimdal-1.1 import and add build infrastructure. Importdfr2008-05-071-13/+94
| | | | all non-style changes made by heimdal to our own libgssapi.
* Install the mpilib headers from mpt(4) into /usr/include/dev/mpt/mpilib.jhb2008-05-071-1/+3
| | | | | | This allows <sys/mpt_ioctl.h> to be used from userland. Prodded by: scottl
* Retire the __fgetcookie(), __fgetpendout(), and __fsetfileno() accessorsjhb2008-05-051-6/+0
| | | | as we aren't hiding FILE's internals anymore.
* Note that FILE's __cookie is also part of the public ABI.jhb2008-05-051-1/+1
|
* Expose FILE's internals to the world again in all their glory. Restorejhb2008-05-051-4/+172
| | | | | all the previous inline optimizations as well. FILE is back to using __mbstate_t, struct pthread *, and struct pthread_mutex *.
* Unbreak build: gnu sort has been configured to grope inside structmarcel2008-05-031-0/+3
| | | | | | | __sFILE. It's opaque now, so add a function that returns the pending output bytes. Pointy hat: jhb
* Unbreak build: libftpio gropes inside struct __sFILE. Implementmarcel2008-05-031-0/+3
| | | | | | | | accessor functions for its benefit now thaat FILE is opaque. I'm sure there's a better way. I leave that for people to work on in a src tree that isn't broken. Pointy hat: jhb
* Axe now-empty __BSD_VISIBLE block that held renameat().jhb2008-05-021-2/+0
| | | | | Reported by: kib Pointy hat: jhb
* - Move declaration of renameat() to the existing section of BSD_VISIBLEjhb2008-05-021-6/+6
| | | | | | | function prototypes. - Fix a few whitespace inconsistencies in prototypes. MFC after: 1 month
* Next round of stdio changes: Remove all inlining of stdio operations andjhb2008-05-021-172/+4
| | | | | | | | | | | | | | | | move the definition of the type backing FILE (struct __sFILE) into an internal header. - Remove macros to inline certain operations from stdio.h. Applications will now always call the functions instead. - Move the various foo_unlocked() functions from unlocked.c into foo.c. This lets some of the inlining macros (e.g. __sfeof()) move into foo.c. - Update a few comments. - struct __sFILE can now go back to using mbstate_t, pthread_t, and pthread_mutex_t instead of knowing about their private, backing types. MFC after: 1 month Reviewed by: kan
* Next stage of stdio cleanup: Retire __sFILEX and merge the fields back intojhb2008-04-171-4/+7
| | | | | | | | | | | | | | | | | | | __sFILE. This was supposed to be done in 6.0. Some notes: - Where possible I restored the various lines to their pre-__sFILEX state. - Retire INITEXTRA() and just initialize the wchar bits (orientation and mbstate) explicitly instead. The various places that used INITEXTRA didn't need the locking fields or _up initialized. (Some places needed _up to exist and not be off the end of a NULL or garbage pointer, but they didn't require it to be initialized to a specific value.) - For now, stdio.h "knows" that pthread_t is a 'struct pthread *' to avoid namespace pollution of including all the pthread types in stdio.h. Once we remove all the inlines and make __sFILE private it can go back to using pthread_t, etc. - This does not remove any of the inlines currently and does not change any of the public ABI of 'FILE'. MFC after: 1 month Reviewed by: peter
* Specifically mark the members of 'FILE' that are accessed via inlinejhb2008-04-171-6/+10
| | | | | | functions or macros since they are part of the public ABI as a result. MFC after: 1 month
* Implement fdopendir(3) by splitting __opendir2() into two parts, the upper partdelphij2008-04-161-0/+1
| | | | | | deals with the usual __opendir2() calls, and the rest part with an interface translator to expose fdopendir(3) functionality. Manual page was obtained from kib@'s work for *at(2) system calls.
* Add the restrict qualifiers to the pointer arguments of the readlinkat.kib2008-04-101-1/+1
|
* Add memrchr(3).delphij2008-04-101-0/+1
| | | | Obtained from: OpenBSD
* Correct the prototype for the faccessat().kib2008-04-011-1/+1
| | | | Reported by: ru
* Add the libc glue and headers definitions for the *at() syscalls.kib2008-03-312-0/+14
| | | | | | | Based on the submission by rdivacky, sponsored by Google Summer of Code 2007 Reviewed by: rwatson, rdivacky Tested by: pho
* Implement csqrtl().das2008-03-301-0/+2
|
* Hook hypotl() and cabsl() up to the build.das2008-03-301-1/+2
|
* Allow an application to define FOPEN_MAX (like we allow for OPEN_MAXjb2008-03-261-0/+2
| | | | in sys/syslimits.h).
* Add POSIX pthread API pthread_getcpuclockid() to get a thread's cpudavidxu2008-03-222-0/+2
| | | | time clock id.
* Add cpu affinity APIs to get and set thread's cpu affinity mask, thedavidxu2008-03-031-0/+7
| | | | functions are intented to be are compatible with glibc.
* Added the "restrict" type-qualifier to the readlink() prototype.ru2008-02-261-1/+1
|
* Change readlink(2)'s return type and type of the last argumentru2008-02-121-1/+1
| | | | | | to match POSIX. Prodded by: Alexey Lyashkov
* Per discussion on -threads, rename _islocked_np() to _isowned_np().des2008-02-061-1/+1
|
* Add pthread_mutex_islocked_np(), a cheap way to verify that a mutex isdes2008-02-031-0/+1
| | | | | | | locked. This is intended primarily to support the userland equivalent of the various *_ASSERT_LOCKED() macros we have in the kernel. MFC after: 2 weeks
* Our fts(3) API, as inherited from 4.4BSD, suffers from integeryar2008-01-261-18/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fields in FTS and FTSENT structs being too narrow. In addition, the narrow types creep from there into fts.c. As a result, fts(3) consumers, e.g., find(1) or rm(1), can't handle file trees an ordinary user can create, which can have security implications. To fix the historic implementation of fts(3), OpenBSD and NetBSD have already changed <fts.h> in somewhat incompatible ways, so we are free to do so, too. This change is a superset of changes from the other BSDs with a few more improvements. It doesn't touch fts(3) functionality; it just extends integer types used by it to match modern reality and the C standard. Here are its points: o For C object sizes, use size_t unless it's 100% certain that the object will be really small. (Note that fts(3) can construct pathnames _much_ longer than PATH_MAX for its consumers.) o Avoid the short types because on modern platforms using them results in larger and slower code. Change shorts to ints as follows: - For variables than count simple, limited things like states, use plain vanilla `int' as it's the type of choice in C. - For a limited number of bit flags use `unsigned' because signed bit-wise operations are implementation-defined, i.e., unportable, in C. o For things that should be at least 64 bits wide, use long long and not int64_t, as the latter is an optional type. See FTSENT.fts_number aka FTS.fts_bignum. Extending fts_number `to satisfy future needs' is pointless because there is fts_pointer, which can be used to link to arbitrary data from an FTSENT. However, there already are fts(3) consumers that require fts_number, or fts_bignum, have at least 64 bits in it, so we must allow for them. o For the tree depth, use `long'. This is a trade-off between making this field too wide and allowing for 64-bit inode numbers and/or chain-mounted filesystems. On the one hand, `long' is almost enough for 32-bit filesystems on a 32-bit platform (our ino_t is uint32_t now). On the other hand, platforms with a 64-bit (or wider) `long' will be ready for 64-bit inode numbers, as well as for several 32-bit filesystems mounted one under another. Note that fts_level has to be signed because -1 is a magic value for it, FTS_ROOTPARENTLEVEL. o For the `nlinks' local var in fts_build(), use `long'. The logic in fts_build() requires that `nlinks' be signed, but our nlink_t currently is uint16_t. Therefore let's make the signed var wide enough to be able to represent 2^16-1 in pure C99, and even 2^32-1 on a 64-bit platform. Perhaps the logic should be changed just to use nlink_t, but it can be done later w/o breaking fts(3) ABI any more because `nlinks' is just a local var. This commit also inludes supporting stuff for the fts change: o Preserve the old versions of fts(3) functions through libc symbol versioning because the old versions appeared in all our former releases. o Bump __FreeBSD_version just in case. There is a small chance that some ill-written 3-rd party apps may fail to build or work correctly if compiled after this change. o Update the fts(3) manpage accordingly. In particular, remove references to fts_bignum, which was a FreeBSD-specific hack to work around the too narrow types of FTSENT members. Now fts_number is at least 64 bits wide (long long) and fts_bignum is an undocumented alias for fts_number kept around for compatibility reasons. According to Google Code Search, the only big consumers of fts_bignum are in our own source tree, so they can be fixed easily to use fts_number. o Mention the change in src/UPDATING. PR: bin/104458 Approved by: re (quite a while ago) Discussed with: deischen (the symbol versioning part) Reviewed by: -arch (mostly silence); das (generally OK, but we didn't agree on some types used; assuming that no objections on -arch let me to stick to my opinion)
* _POSIX_THREAD_CPUTIME is now supported.davidxu2008-01-181-1/+1
|
* Add a feature_present(3) function which checks to see if a named kerneljhb2008-01-101-0/+1
| | | | | | feature is present by checking the kern.features sysctl MIB. MFC after: 1 week
* Implement and document csqrt(3) and csqrtf(3).das2007-12-151-1/+3
|
OpenPOWER on IntegriCloud