summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Decompose <sys/termios.h>.ed2009-11-282-2/+102
| | | | | | | | | | | | | | | | | | | | The <sys/termios.h> header file is hardlinked to <termios.h>. It contains both the structures and the flag definitions, but also the C library interface that's implemented by the C library. This header file has the typical problem of including too many random things and being badly ordered. Instead of trying to fix this, decompose it into two header files: - <sys/_termios.h>, which contains struct termios and the flags. - <termios.h>, which includes <sys/_termios.h> and contains the C library interface. This means userspace has to include <termios.h> for struct termios, while kernelspace code has to include <sys/tty.h>. Also add a <sys/termios.h>, which prints a warning message before including <termios.h>. I am aware that there are some applications that use this header file as well.
* Implement sighold, sigignore, sigpause, sigrelse, sigset functionskib2009-11-261-1/+6
| | | | | | | | | | from SUSv4 XSI. Note that the functions are obsoleted, and only provided to ease porting from System V-like systems. Since sigpause already exists in compat with different interface, XSI sigpause is named xsi_sigpause. Reviewed by: davidxu MFC after: 3 weeks
* Add basename_r(3) to complement basename(3). basename_r(3) which acceptsrwatson2009-10-061-0/+1
| | | | | | | | a caller-allocated buffer of at least MAXPATHLEN, rather than using a global buffer. MFC after: 1 month Sponsored by: Google
* Modified locale(1) to be able to show the altmon_X fields and the [cxX]_fmt's.edwin2009-10-051-0/+14
| | | | | | Also modify the "-k list" option to display only fields with a certain prefix. MFC after: 1 week
* ntroduce mfiutil, a basic utility for managing LSI SAS-RAID & Dell PERC5/6scottl2009-08-131-1/+1
| | | | | | | | | | | | | | controllers. Controller, array, and drive status can be checked, basic attributes can be changed, and arrays and spares can be created and deleted. Controller firmware can also be flashed. This does not replace MegaCLI, found in ports, as that is officially sanctioned and supported by LSI and includes vastly more functionality. However, mfiutil is open source and guaranteed to provide basic functionality, which can be especially useful if you have a problem and can't get MegaCLI to work. Approved by: re Obtained from: Yahoo! Inc.
* Implement RTLD_NOLOAD flag for dlopen(3).kib2009-07-171-0/+1
| | | | | | Requested and tested by: jkim Reviewed by: kan Approved by: re (kensmith)
* Separate the parallel scsi knowledge out of the core of the XPT, andscottl2009-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modularize it so that new transports can be created. Add a transport for SATA Add a periph+protocol layer for ATA Add a driver for AHCI-compliant hardware. Add a maxio field to CAM so that drivers can advertise their max I/O capability. Modify various drivers so that they are insulated from the value of MAXPHYS. The new ATA/SATA code supports AHCI-compliant hardware, and will override the classic ATA driver if it is loaded as a module at boot time or compiled into the kernel. The stack now support NCQ (tagged queueing) for increased performance on modern SATA drives. It also supports port multipliers. ATA drives are accessed via 'ada' device nodes. ATAPI drives are accessed via 'cd' device nodes. They can all be enumerated and manipulated via camcontrol, just like SCSI drives. SCSI commands are not translated to their ATA equivalents; ATA native commands are used throughout the entire stack, including camcontrol. See the camcontrol manpage for further details. Testing this code may require that you update your fstab, and possibly modify your BIOS to enable AHCI functionality, if available. This code is very experimental at the moment. The userland ABI/API has changed, so applications will need to be recompiled. It may change further in the near future. The 'ada' device name may also change as more infrastructure is completed in this project. The goal is to eventually put all CAM busses and devices until newbus, allowing for interesting topology and management options. Few functional changes will be seen with existing SCSI/SAS/FC drivers, though the userland ABI has still changed. In the future, transports specific modules for SAS and FC may appear in order to better support the topologies and capabilities of these technologies. The modularization of CAM and the addition of the ATA/SATA modules is meant to break CAM out of the mold of being specific to SCSI, letting it grow to be a framework for arbitrary transports and protocols. It also allows drivers to be written to support discrete hardware without jeopardizing the stability of non-related hardware. While only an AHCI driver is provided now, a Silicon Image driver is also in the works. Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware is possible and encouraged. Help with new transports is also encouraged. Submitted by: scottl, mav Approved by: re
* There is an optimization in chmod(1), that makes it not to call chmod(2)trasz2009-07-081-0/+1
| | | | | | | | | | | | | if the new file mode is the same as it was before; however, this optimization must be disabled for filesystems that support NFSv4 ACLs. Chmod uses pathconf(2) to determine whether this is the case - however, pathconf(2) always follows symbolic links, while the 'chmod -h' doesn't. This change adds lpathconf(3) to make it possible to solve that problem in a clean way. Reviewed by: rwatson (earlier version) Approved by: re (kib)
* Merge fmtcheck() prototype change.delphij2009-06-231-1/+1
| | | | Obtained from: NetBSD
* Re-do r192913 in less intrusive way. Only do IP_RECVDSTADDR/IP_SENDSRCADDRkan2009-06-181-0/+1
| | | | | | | | | | | | | dace for UPDv4 sockets bound to INADDR_ANY. Move the code to set IP_RECVDSTADDR/IP_SENDSRCADDR into svc_dg.c, so that both TLI and non-TLI users will be using it. Back out my previous commit to mountd. Turns out the problem was affecting more than one binary so it needs to me addressed in generic rpc code in libc in order to fix them all. Reported by: lstewart Tested by: lstewart
* Add a new 'void closefrom(int lowfd)' system call. When called, it closesjhb2009-06-151-0/+1
| | | | | | | | | | | | | | | | | | | | any open file descriptors >= 'lowfd'. It is largely identical to the same function on other operating systems such as Solaris, DFly, NetBSD, and OpenBSD. One difference from other *BSD is that this closefrom() does not fail with any errors. In practice, while the manpages for NetBSD and OpenBSD claim that they return EINTR, they ignore internal errors from close() and never return EINTR. DFly does return EINTR, but for the common use case (closing fd's prior to execve()), the caller really wants all fd's closed and returning EINTR just forces callers to call closefrom() in a loop until it stops failing. Note that this implementation of closefrom(2) does not make any effort to resolve userland races with open(2) in other threads. As such, it is not multithread safe. Submitted by: rwatson (initial version) Reviewed by: rwatson MFC after: 2 weeks
* Delete the old USB stack. The new stack has settled in and has all thethompsa2009-05-271-1/+1
| | | | drivers/functionality and then some.
* Modify src/etc/mtree/BSD.include.dist and src/include/Makefilermacklem2009-05-211-1/+1
| | | | | | | | | | | | | | | | | so that the .h files in src/sys/fs/nfs will be installed under /usr/include/fs/nfs. This will allow the following utilities to build, once additions and changes for the experimental nfs subsystem are committed: usr.sbin/mountd - Once modified to add support for the experimental nfs subsystem. ur.sbin/nfsstat - Once modified to add support for the experimental nfs subsystem. usr.sbin/nfscbd - The client side callback daemon for NFSv4. usr.sbin/nfsuserd - The NFSv4 user/group name<->uid/gid mapping daemon. usr.sbin/nfsdumpstate - The NFSv4 utility for dumping open/lock state. usr.sbin/nfsrevoke - The sysadmin command for revoking NFSv4 state. Approved by: kib (mentor)
* Revert r190943, since the problem in ports seems to be fixed now.das2009-04-171-2/+0
| | | | | It's amazing how a well-placed eyesore generates more motivation in a day than email generates in three weeks.
* GNU Pth has some fragile kludges that were broken by r189828.das2009-04-111-0/+2
| | | | | | I've discussed this with the Pth maintainer and no clear solution has emerged on the ports side of things, so for now, hack around the issue in signal.h.
* Implement support for RTLD_NODELETE flag for dlopen() and -z nodeletekib2009-03-301-0/+1
| | | | | | | static linker option. Do it by incrementing reference count on the loaded object and its dependencies. Reviewed by: davidxu, kan
* Minor changes from Berkeley DB 1.86 and further improvements from OpenBSD.delphij2009-03-281-15/+23
| | | | | | | | | | This does not include the new hash routines since they will cause problems when reading old hash files. Since mpool(3) has been changed, provide a compatibility shim for older binaries. Obtained from: OpenBSD
* Make programs that define a macro called `dprintf' more likely to work.das2009-03-251-1/+1
|
* Fix the visibility of several prototypes. Also move pthread_kill() anddas2009-03-142-3/+16
| | | | | | | | | | pthread_sigmask() to signal.h. In principle, this shouldn't break anything, since they're already in signal.h on other systems, and the FreeBSD manpage says that both pthread.h and signal.h need to be included to get these functions. Add a hack to declare pthread_t in the P1003.1-2008 namespace in signal.h.
* Hide dbopen() in the POSIX namespace, and use standard type namesdas2009-03-141-33/+35
| | | | throughout so that this compiles in strict POSIX mode.
* Hide numerous BSD extensions in the POSIX namespace.das2009-03-141-24/+30
|
* Namespace: abort2() is a BSD extension.das2009-03-141-1/+1
|
* Namespace: endpwent, getpwent, and setpwent are XSI extensions.das2009-03-141-1/+4
|
* Namespace: dprintf() and getline() are in P1003.1-2008.das2009-03-141-2/+2
|
* Various namespace cleanups, including exposing fchmod() and fchmodat()das2009-03-141-5/+4
| | | | | | | in the POSIX namespace, and hiding eaccess() and setproctitle(). Also move mknodat() from unistd.h to sys/stat.h where it belongs. The *at() syscalls are only in CURRENT, so this shouldn't cause problems.
* Namespace: setgrent() is an XSI extension.das2009-03-141-1/+3
|
* Don't prototype _tolower() and _toupper(). They're not supposed to bedas2009-03-141-2/+0
| | | | functions, and there's no implementation of them in any case.
* Namespace: memccpy() and memchr() are XSI, and memrchr() is a BSD extension.das2009-03-141-1/+3
|
* Namespace: dbm_forder() and dbm_dirfno() are BSD extensions.das2009-03-141-0/+4
|
* Namespace: _setjmp() and _longjmp() are XSI extensions.das2009-03-141-1/+1
|
* Namespace: inet_ntoa_r() is a BSD extension.das2009-03-141-1/+1
|
* r189349 removed mktemp() from the XSI namespace whendas2009-03-141-1/+1
| | | | | | | __XOPEN_SOURCE >= 700, since mktemp() was withdrawn from the standard. However, __XSI_VISIBLE is set to 700 in the default BSD envrionment, where mktemp() should still exist; hence, check for this.
* Put the restrict qualifiers in the right place in the wcp[n]cpy prototypes.das2009-03-041-2/+2
| | | | Submitted by: Pawel Worach <pawel.worach@gmail.com>
* Add wcpcpy(3) and wcpncpy(3).das2009-03-041-0/+2
|
* Add dprintf() and vdprintf() from POSIX.1-2008. Like getline(),das2009-03-041-4/+20
| | | | | | dprintf() is a simple wrapper around another function, so we may as well implement it. But also like getline(), we can't prototype it by default right now because it would break too many ports.
* Add renameat to the POSIX.1-2008 namespace.das2009-03-041-1/+1
|
* Add psignal to the POSIX.1-2008 namespace.das2009-03-041-1/+4
|
* - Add getsid, fchdir, getpgid, lchown, pread, pwrite, truncate,das2009-03-041-26/+38
| | | | | | *at, and fexecve to the POSIX.1-2008 namespace. - Remove getwd, ualarm, usleep, and vfork from the XSI namespace. - Remove mkdtemp from the POSIX.1-2008 namespace (should be in stdlib.h).
* - Remove bcmp, bcopy, bzero, index, and rindex from the POSIX.1-2008das2009-03-041-0/+6
| | | | | namespace. - Add ffs to the XSI namespace.
* - Add getsubopt and mkdtemp to the POSIX.1-2008 namespace.das2009-03-041-6/+13
| | | | | - Add mkstemp to the POSIX.1-2008 and BSD namespaces. - Remove mktemp from the XSI namespace.
* - Add getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(),das2009-02-283-4/+57
| | | | | | | | | | | | wcscasecmp(), and wcsncasecmp(). - Make some previously non-standard extensions visible if POSIX_VISIBLE >= 200809. - Use restrict qualifiers in stpcpy(). - Declare off_t and size_t in stdio.h. - Bump __FreeBSD_version in case the new symbols (particularly getline()) cause issues with ports. Reviewed by: standards@
* Add restrict qualifiers to the parameters to strlcpy() and strlcat().das2009-02-281-2/+2
| | | | | The annotation mainly just serves as a hint that they're not intended for use with overlapping strings.
* Mark memmem() __pure.das2009-02-281-1/+1
|
* Install the old usb headers under /usr/include/legacy/dev/usb as they arethompsa2009-02-241-1/+1
| | | | | | | | needed by the hal port. This will be removed before 8.0. Add an exclusion to kdump as some structs will be redefined. Requested by: marcus
* Build fixups for the new USB stack.thompsa2009-02-231-1/+1
|
* sys/pccard is gone.nyan2009-02-151-1/+1
|
* Add two new routines: fdevname() and fdevname_r().ed2009-02-111-0/+2
| | | | | | | | | | | | | | A more elegant way of obtaining a name of a character device by its file descriptor on FreeBSD, is to use the FIODGNAME ioctl. Because a valid file descriptor implies a file descriptor is visible in /dev, it will always resolve a valid device name. I'm adding a more friendly wrapper for this ioctl, called fdevname(). It is a lot easier to use than devname() and also has better error handling. When a device name cannot be resolved, it will just return NULL instead of a generated device name that makes no sense. Discussed with: kib
* Also un-split _PATH_STDPATH for grepability.obrien2009-02-011-4/+3
| | | | While I'm here, fix other style bugs reported to me.
* Add a function attribute called `__malloc_like', which informs gccdas2009-01-313-5/+5
| | | | | | | | | | | | | | that the annotated function returns a pointer that doesn't alias any extant pointer. This results in a 50%+ speedup in microbenchmarks such as the following: char *cp = malloc(1), *buf = malloc(BUF); for (i = 0; i < BUF; i++) buf[i] = *cp; In real programs, your mileage will vary. Note that gcc already performs this optimization automatically for any function called `malloc', `calloc', `strdup', or `strndup' unless -fno-builtins is used.
* No need to wrap _PATH_SYSPATH. It makes it harder to grep(1) for itsobrien2009-01-261-2/+1
| | | | value. (also unwrapping better matches existing style)
OpenPOWER on IntegriCloud