summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Initial import of character device in userspace support for FreeBSD.hselasky2014-05-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CUSE library is a wrapper for the devfs kernel functionality which is exposed through /dev/cuse . In order to function the CUSE kernel code must either be enabled in the kernel configuration file or loaded separately as a module. Currently none of the committed items are connected to the default builds, except for installing the needed header files. The CUSE code will be connected to the default world and kernel builds in a follow-up commit. The CUSE module was written by Hans Petter Selasky, somewhat inspired by similar functionality found in FUSE. The CUSE library can be used for many purposes. Currently CUSE is used when running Linux kernel drivers in user-space, which need to create a character device node to communicate with its applications. CUSE has full support for almost all devfs functionality found in the kernel: - kevents - read - write - ioctl - poll - open - close - mmap - private per file handle data Requested by several people. Also see "multimedia/cuse4bsd-kmod" in ports.
* include: Don't expose L_cuserid in strict C standard compliance mode.jilles2014-05-111-1/+1
| | | | | L_cuserid is supposed to be exposed only for old POSIX, or in the default (expose everything) environment.
* include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLEjilles2014-05-119-19/+19
| | | | | | | | | or __POSIX_VISIBLE. Whenever <sys/cdefs.h> sets __BSD_VISIBLE to non-zero, it also sets __POSIX_VISIBLE and __XSI_VISIBLE to the newest version supported. No functional change is intended.
* Use src.opts.mk in preference to bsd.own.mk except where we need stuffimp2014-05-062-2/+2
| | | | from the latter.
* langinfo.h: Hide YESSTR and NOSTR in strict POSIX mode.jilles2014-04-191-1/+1
| | | | YESSTR and NOSTR are obsolete and are only in old SUS.
* Add support for some block functions that come from OS X. These aretheraven2014-04-022-0/+18
| | | | | | | intended to build with any C compiler. Reviewed by: pfg MFC after: 3 weeks
* Rename __wchar_t so it no longer conflicts with __wchar_t from clang 3.4tijl2014-04-014-4/+4
| | | | | | -fms-extensions. MFC after: 2 weeks
* Remove AppleTalk support.glebius2014-03-141-1/+1
| | | | | | | | | | AppleTalk was a network transport protocol for Apple Macintosh devices in 80s and then 90s. Starting with Mac OS X in 2000 the AppleTalk was a legacy protocol and primary networking protocol is TCP/IP. The last Mac OS X release to support AppleTalk happened in 2009. The same year routing equipment vendors (namely Cisco) end their support. Thus, AppleTalk won't be supported in FreeBSD 11.0-RELEASE.
* Remove IPX support.glebius2014-03-141-8/+1
| | | | | | | | | | | IPX was a network transport protocol in Novell's NetWare network operating system from late 80s and then 90s. The NetWare itself switched to TCP/IP as default transport in 1998. Later, in this century the Novell Open Enterprise Server became successor of Novell NetWare. The last release that claimed to still support IPX was OES 2 in 2007. Routing equipment vendors (e.g. Cisco) discontinued support for IPX in 2011. Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.
* Update jemalloc to version 3.5.0.jasone2014-01-231-0/+18
|
* Add a new flag to /etc/ttys: onifconsole. This is equivalent to "on" if thenwhitehorn2014-01-201-0/+1
| | | | | | | | | device is an active kernel console and "off" otherwise. This is designed to allow serial-booting x86 systems to provide a login prompt on the serial line by default without providing one on all systems by default. Comments and suggestions by: grehan, dteske, jilles MFC after: 1 month
* Replace Sun RPC license with a 3-clause BSD license. This license changehrs2013-12-0916-423/+454
| | | | | was approved in 2010 by Wim Coekaerts, Senior Vice President, Linux and Virtualization at Oracle Corporation.
* Install teken.h for userland.ray2013-12-051-0/+3
| | | | | | | | Part of VT(9) project merge. Reviewed by: nwhitehorn MFC_to_10_after: re approval Sponsored by: The FreeBSD Foundation
* Replace Sun Industry Standards Source License for Sun RPC code with ahrs2013-11-251-45/+24
| | | | | | 3-clause BSD license as specified by Oracle America, Inc. in 2010. This license change was approved by Wim Coekaerts, Senior Vice President, Linux and Virtualization at Oracle Corporation.
* Replace Sun RPC license in TI-RPC library with a 3-clause BSD license,hrs2013-11-2523-596/+572
| | | | with the explicit permission of Sun Microsystems in 2009.
* Add ICONV_{GET,SET}_ILSEQ_INVALID iconvctl. GNU iconv returns EILSEQhrs2013-11-251-0/+2
| | | | | | | | | | | | when there is an invalid character in the output codeset while it is valid in the input. However, POSIX requires iconv() to perform an implementation-defined conversion on the character. So, Citrus iconv converts such a character to a special character which means it is invalid in the output codeset. This is not a problem in most cases but some software like libxml2 depends on GNU's behavior to determine if a character is output as-is or another form such as a character entity (&#NNN;).
* Attempt to move the POSIX iconv* symbols out of runtime linker space.peter2013-11-171-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | FreeBSD systems usually implemented this as a third party module and our implementation hasn't played as nicely with the old way as it could have. To that end: * Rename the iconv* symbols in libc.so.7 to have a __bsd_ prefix. * Provide .symver compatability with existing 10.x+ binaries that referenced the iconv symbols. All existing binaries should work. * Like on Linux/glibc systems, add a libc_nonshared.a to the ldscript at /usr/lib/libc.so. * Move the "iconv*" wrapper symbols to libc_nonshared.a This should solve the runtime ambiguity about which symbols resolve to where. If you compile against the iconv in libc, your runtime dependencies will be unambiguous. Old 9.x libraries and binaries will always resolve against their libiconv.so.3 like they did on 9.x. They won't resolve against libc. Old 10.x binaries will be satisified by the .symver helpers. This should allow ports to selectively compile against the libiconv port if needed and it should behave without ambiguity now. Discussed with: kib
* Remove the WITH_LIBICONV_COMPAT hack that seems to do more harm thanpeter2013-11-032-28/+1
| | | | | | good. This caused libc to spoof the ports libiconv namespace and provide a colliding libiconv.so.3 to fool rtld. This should have been removed some time ago.
* Install include files for netpfil/pf when requested by the Makefilesbruno2013-11-011-0/+5
| | | | Reviewed by: glebius
* Move new pf includes to the pf directory. The pfvar.h remainglebius2013-10-271-0/+7
| | | | | | | | | | in net, to avoid compatibility breakage for no sake. The future plan is to split most of non-kernel parts of pfvar.h into pf.h, and then make pfvar.h a kernel only include breaking compatibility. Discussed with: bz
* Add a dummy statement to the beginning of the pthread_cleanup_pop() macrotijl2013-10-221-0/+1
| | | | | | | | | | to allow a call of the macro to be labelled as in: label: pthread_cleanup_pop(); Reviewed by: imp MFC after: 3 days
* Set proper permissions on the generated osreldate.h file; a file readableian2013-09-301-0/+1
| | | | | | | only by root can cause install problems, especially over nfs. Submitted by: jilles@ Approved by: re (gjb)
* Remove BIND.des2013-09-301-5/+0
| | | | Approved by: re (gjb)
* Allow the path to the system source directory to be passed in toian2013-09-281-2/+4
| | | | | | | | | | | | | | | | newvers.sh. Pass it in from include/Makefile. If it isn't passed in, fall back to the old logic of using dirname $0. Using dirname $0 does not yield the path to the script if it was sourced in from another script in another directory; you end up with the parent script's path. That was causing newvers.sh to look one level below the FreeBSD src/ directory when building osreldate.h and it may find something like a git or svn repo there that has nothing to do with FreeBSD. PR: 174422 Approved by: re () MFC after: 2 weeks
* Prevent the set -e from mk-osreldate.sh from propagating into newvers.sh.nwhitehorn2013-09-281-1/+3
| | | | | | | | | This would cause detection of old versions of SVN to cause fatal errors instead of being caught and handled, which would make the build fail if the tree had been checked out with an older version of SVN (e.g. 1.6). Discussed with: gjb Approved by: re (marius)
* Launch the bourne shell using "sh" rather than "${SHELL}", as the latterian2013-09-231-1/+1
| | | | | | | | | | may come in from the environment and reflect the user's interactive shell. Using bare "sh" is the dominant pattern in existing makefiles. MFC this together with r255775. Approved by: re () MFC after: 2 weeks
* Launch the shell, passing it the path to the mk-osreldate script, ratherian2013-09-221-1/+1
| | | | | | | | | | than launching the script directly and relying on #! to launch the shell. This avoids problems when the source is mounted with the noexec flag. MFC this together with r255775. Approved by: re (kib) MFC after: 2 weeks
* Create a separate script to generate osreldate.h rather than sourcingian2013-09-212-13/+59
| | | | | | | | | | | | | | | | | newvers.sh into a temporary subshell with inline make rules. Using a separate script fixes a variety of problems, including establishing the correct dependencies in the makefiles. It also eliminates a problem with the way newvers.sh uses `realpath $0`, because $0 expands differently within a script sourced into a rule in a makefile depending on the version of make and of /bin/sh being used. The latter can cause build breakage in a cross-build environment, and can also make it difficult to compile 10.0 on older pre-10.0 systems. PR: 160646 174422 Submitted by: Garrett Cooper <yaneurabeya@gmail.com> Approved by: re (gjb) MFC after: 2 weeks
* Assume that the -f argument is /dev/gpioc0 if it is not passed.sbruno2013-09-171-0/+1
| | | | | | | | hrs@ provided this verison of the patch and showed me where all the needed changes were to be made outside of gpioctl.c Approved by: re (hrs) MFC after: 2 weeks
* Fix the namespace pollution caused by iconv.h including stdbool.htheraven2013-09-061-2/+8
| | | | | This broke any C89 ports that defined bool themselves, including things like gcc, gtk, and so on.
* Implement fdclosedir(3) function, which is equivalent to the closedir(3)pjd2013-08-181-0/+1
| | | | | | | function, but returns directory file descriptor instead of closing it. Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org> Sponsored by: Google Summer of Code 2013
* Add dup3(), based on F_DUP2FD and F_DUP2FD_CLOEXEC fcntls.jilles2013-08-161-0/+1
| | | | | | | | I removed functionality not proposed for POSIX in Austin group issue #411. A man page (my own) and test cases will follow in later commits. PR: 176233 Submitted by: Jukka Ukkonen
* The iconv in libc did two things - implement the standard APIs, the GNUpeter2013-08-132-19/+40
| | | | | | | | | | | | | | | | | | | | | | | | extensions and also tried to be link time compatible with ports libiconv. This splits that functionality and enables the parts that shouldn't interfere with the port by default. WITH_ICONV (now on by default) - adds iconv.h, iconv_open(3) etc. WITH_LIBICONV_COMPAT (off by default) adds the libiconv_open etc API, linker symbols and even a stub libiconv.so.3 that are good enough to be able to 'pkg delete -f libiconv' on a running system and reasonably expect it to work. I have tortured many machines over the last few days to try and reduce the possibilities of foot-shooting as much as I can. I've successfully recompiled to enable and disable the libiconv_compat modes, ports that use libiconv alongside system iconv etc. If you don't enable the WITH_LIBICONV_COMPAT switch, they don't share symbol space. This is an extension of behavior on other system. iconv(3) is a standard libc interface and libiconv port expects to be able to run alongside it on systems that have it. Bumped osreldate.
* Add mkostemp() and mkostemps().jilles2013-08-091-0/+2
| | | | | These are like mkstemp() and mkstemps() but allow passing open(2) flags like O_CLOEXEC.
* stdlib.h: Add correct POSIX version for POSIX extensions to C.jilles2013-07-051-6/+8
|
* 1) POSIX requires rand(3) return values to be in the [0, RAND_MAX] range,ache2013-07-031-1/+1
| | | | | | | | | | | | | | | | but ACM formula we use have internal state (and return value) in the [1, 0x7ffffffe] range, so our RAND_MAX (0x7fffffff) is never reached because it is off by one, zero is not reached too. Correct both RAND_MAX and rand(3) return value, shifting last one to the 0 by 1 subtracted, resulting POSIXed [0, 0x7ffffffd(=new RAND_MAX)] range. 2) Add a checks for not overflowing on too big seeds. It may happens on the machines, where sizeof(unsigned int) > 32 bits. Reviewed by: bde [1] MFC after: 2 weeks
* Replace the #define for "iconv" so it is for the function name instead ofpeter2013-07-031-3/+3
| | | | | | a macro with parameters. Remove a __DECONST hack and add consts instead for gnu libiconv API compatability. This makes it work with things like devel/boost-libs that expects to use "iconv" as though it were a pointer.
* Fix gssapi/gssapi_krb5.h after Heimdal 1.5.1 import.hrs2013-06-301-0/+27
| | | | Reviewed by: dfr
* - Trim an unused and bogus Makefile for mount_smbfs.davide2013-06-281-2/+3
| | | | | | - Reconnect with some minor modifications, in particular now selsocket() internals are adapted to use sbintime units after recent'ish calloutng switch.
* - Add vnode-backed swap space specification support. This is enabled whenhrs2013-06-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | device names "md" or "md[0-9]*" and a "file" option are specified in /etc/fstab like this: md none swap sw,file=/swap.bin 0 0 - Add GBDE/GELI encrypted swap space specification support, which rc.d/encswap supported. The /etc/fstab lines are like the following: /dev/ada1p1.bde none swap sw 0 0 /dev/ada1p2.eli none swap sw 0 0 .eli devices accepts aalgo, ealgo, keylen, and sectorsize as options. swapctl(8) can understand an encrypted device in the command line like this: # swapctl -a /dev/ada2p1.bde - "-L" flag is added to support "late" option to defer swapon until rc.d/mountlate runs. - rc.d script change: rc.d/encswap -> removed rc.d/addswap -> just display a warning message if $swapfile is defined rc.d/swap1 -> renamed to rc.d/swap rc.d/swaplate -> newly added to support "late" option These changes alleviate a race condition between device creation/removal and swapon/swapoff. MFC after: 1 week Reviewed by: wblock (manual page)
* Move <stdatomic.h> into sys/sys/.ed2013-06-012-328/+3
| | | | | This will allow us to use C11 atomics in kernelspace, although it will need to be included as <sys/stdatomic.h>.
* Fix misspelling of structure field name.ed2013-05-311-1/+1
|
* I'm happy to finally commit stephen@'s implementations of cacos,das2013-05-301-0/+12
| | | | | | | | cacosh, casin, casinh, catan, and catanh. Thanks to stephen@ and bde@ for working on these. Submitted by: stephen@ Reviewed by: bde
* Make the malloc(3) family of functions weak and make their non-weakmarcel2013-05-251-0/+12
| | | | | | | | | | | | | | implementations visible for use by applications. The functions $F that are now weak symbols are: allocm, calloc, dallocm, free, malloc, malloc_usable_size, nallocm, posix_memalign, rallocm, realloc, sallocm The non-weak implementations of $F are exported as __$F. Submitted by: stevek@juniper.net Reviewed by: jasone@, kib@ Approved by: jasone@ (jemalloc) Obtained from: juniper Networks, Inc
* Add C11 macros CMPLX(), CMPLXF() and CMPLXL().ed2013-05-251-0/+12
| | | | | | Clang allows us to initialize complex numbers using an array initializer, casted to a complex type. GCC has a builtin called __builtin_complex().
* Fix <uchar.h> in for C++11.ed2013-05-251-3/+10
| | | | | | | | | | | It turns out that in C++11, char16_t and char32_t are built-in types; language keywords. Just fix this by putting traditional _*_T_DECLARED blocks around the definitions. We'll just predefine these in <sys/_types.h>. This also opens up the possibility to define char16_t in other header files, if ever needed (e.g. if we would gain a <ctype.h> for char16_t/char32_t).
* Add proper prerequisites for even two more headers.ed2013-05-211-1/+3
| | | | Spotted by: http://hacks.owlfolio.org/header-survey/
* Allow certain headers to be included more easily.ed2013-05-213-9/+13
| | | | Spotted by: http://hacks.owlfolio.org/header-survey/
* Add <uchar.h>.ed2013-05-215-4/+108
| | | | | | | | | | | | The <uchar.h> header, part of C11, adds a small number of utility functions for 16/32-bit "universal" characters, which may or may not be UTF-16/32. As our wchar_t is already ISO 10646, simply add light-weight wrappers around wcrtomb() and mbrtowc(). While there, also add (non-yet-standard) _l functions, similar to the ones we already have for the other locale-dependent functions. Reviewed by: theraven
* Add pipe2() system call.jilles2013-05-011-0/+1
| | | | | | | | | | | | | The pipe2() function is similar to pipe() but allows setting FD_CLOEXEC and O_NONBLOCK (on both sides) as part of the function. If p points to two writable ints, pipe2(p, 0) is equivalent to pipe(p). If the pointer is not valid, behaviour differs: pipe2() writes into the array from the kernel like socketpair() does, while pipe() writes into the array from an architecture-specific assembler wrapper. Reviewed by: kan, kib
OpenPOWER on IntegriCloud