about summary refs log tree commit diff
path: root/include/arpa
Commit message (Collapse)AuthorAgeFilesLines
* fix endian errors in arpa/nameser.h due to failure to include endian.hJo-Philipp Wich2017-12-141-0/+1
|
* add basic dns record parsing functionsRich Felker2014-12-171-35/+23
| | | | | | | | | | | | based on patch by Timo Teräs, with some corrections to bounds checking code and other minor changes. while they are borderline scope creep, the functions added are fairly small and are roughly the minimum code needed to use the results of the res_query API without re-implementing error-prone DNS packet parsing, and they are used in practice by some kerberos related software and possibly other things. at this time there is no intent to implement further nameser.h API functions.
* fix argument types for legacy function inet_makeaddrRich Felker2014-01-061-1/+1
| | | | | | the type int was taken from seemingly erroneous man pages. glibc uses in_addr_t (uint32_t), and semantically, the arguments should be unsigned.
* use consistent include guard name in arpa/ftp.hSzabolcs Nagy2013-10-181-2/+2
|
* refactor headers, especially alltypes.h, and improve C++ ABI compatRich Felker2013-07-221-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the arch-specific bits/alltypes.h.sh has been replaced with a generic alltypes.h.in and minimal arch-specific bits/alltypes.h.in. this commit is intended to have no functional changes except: - exposing additional symbols that POSIX allows but does not require - changing the C++ name mangling for some types - fixing the signedness of blksize_t on powerpc (POSIX requires signed) - fixing the limit macros for sig_atomic_t on x86_64 - making dev_t an unsigned type (ABI matching goal, and more logical) in addition, some types that were wrongly defined with long on 32-bit archs were changed to int, and vice versa; this change is non-functional except for the possibility of making pointer types mismatch, and only affects programs that were using them incorrectly, and only at build-time, not runtime. the following changes were made in the interest of moving non-arch-specific types out of the alltypes system and into the headers they're associated with, and also will tend to improve application compatibility: - netdb.h now includes netinet/in.h (for socklen_t and uint32_t) - netinet/in.h now includes sys/socket.h and inttypes.h - sys/resource.h now includes sys/time.h (for struct timeval) - sys/wait.h now includes signal.h (for siginfo_t) - langinfo.h now includes nl_types.h (for nl_item) for the types in stdint.h: - types which are of no interest to other headers were moved out of the alltypes system. - fast types for 8- and 64-bit are hard-coded (at least for now); only the 16- and 32-bit ones have reason to vary by arch. and the following types have been changed for C++ ABI purposes; - mbstate_t now has a struct tag, __mbstate_t - FILE's struct tag has been changed to _IO_FILE - DIR's struct tag has been changed to __dirstream - locale_t's struct tag has been changed to __locale_struct - pthread_t is defined as unsigned long in C++ mode only - fpos_t now has a struct tag, _G_fpos64_t - fsid_t's struct tag has been changed to __fsid_t - idtype_t has been made an enum type (also required by POSIX) - nl_catd has been changed from long to void * - siginfo_t's struct tag has been removed - sigset_t's has been given a struct tag, __sigset_t - stack_t has been given a struct tag, sigaltstack - suseconds_t has been changed to long on 32-bit archs - [u]intptr_t have been changed from long to int rank on 32-bit archs - dev_t has been made unsigned summary of tests that have been performed against these changes: - nsz's libc-test (diff -u before and after) - C++ ABI check symbol dump (diff -u before, after, glibc) - grepped for __NEED, made sure types needed are still in alltypes - built gcc 3.4.6
* implement inet_lnaof, inet_netof, and inet_makeaddrRich Felker2013-06-251-1/+4
| | | | | | | | | also move all legacy inet_* functions into a single file to avoid wasting object file and compile time overhead on them. the added functions are legacy interfaces for working with classful ipv4 network addresses. they have no modern usefulness whatsoever, but some programs unconditionally use them anyway, and they're tiny.
* add arpa/tftp.hrofl0r2013-04-051-0/+31
|
* add arpa/nameser_compat.hrofl0r2013-04-021-0/+2
| | | | the contents of this header are already in arpa/nameser.h
* add arpa/ftp.hrofl0r2013-02-211-0/+35
|
* add inet_network (required for wine)rofl0r2012-12-191-0/+1
|
* remove all remaining redundant __restrict/__inline/_Noreturn defsRich Felker2012-09-081-6/+1
|
* use restrict everywhere it's required by c99 and/or posix 2008Rich Felker2012-09-061-2/+8
| | | | | | | | to deal with the fact that the public headers may be used with pre-c99 compilers, __restrict is used in place of restrict, and defined appropriately for any supported compiler. we also avoid the form [restrict] since older versions of gcc rejected it due to a bug in the original c99 standard, and instead use the form *restrict.
* fix missing uintXX_t in nameser.hRich Felker2012-08-241-0/+2
|
* header file fixes: multiple include guard consistency and correctnessRich Felker2012-06-151-2/+2
| | | | | | | one file was reusing another file's macro name, and many had inconsistent underscores and application of SYS prefix, etc. patch by Szabolcs Nagy (nsz)
* fix all missing instances of __cplusplus checks/extern "C" in headersRich Felker2011-11-101-0/+8
| | | | patch by Arvid Picciani (aep)
* initial check-in, version 0.5.0 v0.5.0Rich Felker2011-02-123-0/+749