diff options
-rw-r--r-- | ChangeLog | 19 | ||||
-rw-r--r-- | inet/Makefile | 2 | ||||
-rw-r--r-- | inet/netinet/igmp.h (renamed from sysdeps/unix/sysv/linux/netinet/igmp.h) | 41 | ||||
-rw-r--r-- | libio/bits/stdio.h | 18 | ||||
-rw-r--r-- | localedata/ChangeLog | 7 | ||||
-rw-r--r-- | localedata/locales/st_ZA | 254 | ||||
-rw-r--r-- | localedata/locales/xh_ZA | 235 | ||||
-rw-r--r-- | localedata/locales/zu_ZA | 241 | ||||
-rw-r--r-- | manual/llio.texi | 11 | ||||
-rw-r--r-- | manual/resource.texi | 175 | ||||
-rw-r--r-- | sysdeps/pthread/lio_listio64.c | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/Dist | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/Makefile | 2 |
13 files changed, 998 insertions, 17 deletions
@@ -1,3 +1,22 @@ +2003-05-09 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/unix/sysv/linux/netinet/igmp.h: Don't include kernel + headers, add defines from kernel header, move it from here... + * inet/netinet/igmp.h: ... to here. + * inet/Makefile (headers): Add netinet/igmp.h. + * sysdeps/unix/sysv/linux/Makefile: Remove netinet/igmp.h. + * sysdeps/unix/sysv/linux/Dist: Remove netinet/igmp.h. + +2003-05-10 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/pthread/lio_listio64.c (lio_listio64): If SIG == NULL, + use dummy sigevent structure with SIGEV_NONE [PR libc/5015]. + +2003-05-09 Thorsten Kukuk <kukuk@suse.de> + + * libio/bits/stdio.h: Sync prototypes with libio/stdio.h + (remove __THROW from possible cancellation points). + 2003-05-10 Ulrich Drepper <drepper@redhat.com> * posix/sched.h (CPU_SETSIZE): Define. diff --git a/inet/Makefile b/inet/Makefile index 3706d98..60a1a2e 100644 --- a/inet/Makefile +++ b/inet/Makefile @@ -22,7 +22,7 @@ subdir := inet headers := netinet/ether.h netinet/in.h netinet/in_systm.h \ - netinet/if_ether.h \ + netinet/if_ether.h netinet/igmp.h \ netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \ aliases.h ifaddrs.h netinet/ip6.h netinet/icmp6.h bits/in.h diff --git a/sysdeps/unix/sysv/linux/netinet/igmp.h b/inet/netinet/igmp.h index a4683bd..2bffadc 100644 --- a/sysdeps/unix/sysv/linux/netinet/igmp.h +++ b/inet/netinet/igmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1999, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,8 +22,43 @@ #include <sys/cdefs.h> #include <sys/types.h> -#include <asm/types.h> -#include <linux/igmp.h> +#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */ +#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */ +#define IGMP_DVMRP 0x13 /* DVMRP routing */ +#define IGMP_PIM 0x14 /* PIM routing */ +#define IGMP_TRACE 0x15 +#define IGMP_HOST_NEW_MEMBERSHIP_REPORT 0x16 /* New version of 0x11 */ +#define IGMP_HOST_LEAVE_MESSAGE 0x17 + +#define IGMP_MTRACE_RESP 0x1e +#define IGMP_MTRACE 0x1f + +/* + * Use the BSD names for these for compatibility + */ + +#define IGMP_DELAYING_MEMBER 0x01 +#define IGMP_IDLE_MEMBER 0x02 +#define IGMP_LAZY_MEMBER 0x03 +#define IGMP_SLEEPING_MEMBER 0x04 +#define IGMP_AWAKENING_MEMBER 0x05 + +#define IGMP_MINLEN 8 + +#define IGMP_MAX_HOST_REPORT_DELAY 10 /* max delay for response to */ + /* query (in seconds) */ + +#define IGMP_TIMER_SCALE 10 /* denotes that the igmphdr->timer field */ + /* specifies time in 10th of seconds */ + +#define IGMP_AGE_THRESHOLD 400 /* If this host don't hear any IGMP V1 */ + /* message in this period of time, */ + /* revert to IGMP v2 router. */ + +#define IGMP_ALL_HOSTS htonl(0xE0000001L) +#define IGMP_ALL_ROUTER htonl(0xE0000002L) +#define IGMP_LOCAL_GROUP htonl(0xE0000000L) +#define IGMP_LOCAL_GROUP_MASK htonl(0xFFFFFF00L) #ifdef __USE_BSD diff --git a/libio/bits/stdio.h b/libio/bits/stdio.h index 118118a..14ebd7e 100644 --- a/libio/bits/stdio.h +++ b/libio/bits/stdio.h @@ -31,14 +31,14 @@ #ifdef __USE_EXTERN_INLINES /* Write formatted output to stdout from argument list ARG. */ __STDIO_INLINE int -vprintf (__const char *__restrict __fmt, _G_va_list __arg) __THROW +vprintf (__const char *__restrict __fmt, _G_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } /* Read a character from stdin. */ __STDIO_INLINE int -getchar (void) __THROW +getchar (void) { return _IO_getc (stdin); } @@ -47,14 +47,14 @@ getchar (void) __THROW # if defined __USE_POSIX || defined __USE_MISC /* This is defined in POSIX.1:1996. */ __STDIO_INLINE int -getc_unlocked (FILE *__fp) __THROW +getc_unlocked (FILE *__fp) { return _IO_getc_unlocked (__fp); } /* This is defined in POSIX.1:1996. */ __STDIO_INLINE int -getchar_unlocked (void) __THROW +getchar_unlocked (void) { return _IO_getc_unlocked (stdin); } @@ -63,7 +63,7 @@ getchar_unlocked (void) __THROW /* Write a character to stdout. */ __STDIO_INLINE int -putchar (int __c) __THROW +putchar (int __c) { return _IO_putc (__c, stdout); } @@ -72,7 +72,7 @@ putchar (int __c) __THROW # ifdef __USE_MISC /* Faster version when locking is not necessary. */ __STDIO_INLINE int -fputc_unlocked (int __c, FILE *__stream) __THROW +fputc_unlocked (int __c, FILE *__stream) { return _IO_putc_unlocked (__c, __stream); } @@ -82,14 +82,14 @@ fputc_unlocked (int __c, FILE *__stream) __THROW # if defined __USE_POSIX || defined __USE_MISC /* This is defined in POSIX.1:1996. */ __STDIO_INLINE int -putc_unlocked (int __c, FILE *__stream) __THROW +putc_unlocked (int __c, FILE *__stream) { return _IO_putc_unlocked (__c, __stream); } /* This is defined in POSIX.1:1996. */ __STDIO_INLINE int -putchar_unlocked (int __c) __THROW +putchar_unlocked (int __c) { return _IO_putc_unlocked (__c, stdout); } @@ -99,7 +99,7 @@ putchar_unlocked (int __c) __THROW # ifdef __USE_GNU /* Like `getdelim', but reads up to a newline. */ __STDIO_INLINE _IO_ssize_t -getline (char **__lineptr, size_t *__n, FILE *__stream) __THROW +getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } diff --git a/localedata/ChangeLog b/localedata/ChangeLog index cfcf9c9..28514d0 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,10 @@ +2003-05-10 Ulrich Drepper <drepper@redhat.com> + + * locales/st_ZA: New file. + * locales/xh_ZA: New file. + * locales/zu_ZA: New file. + Contribued by Dwayne Bailey <dwayne@translate.org.za>. + 2003-05-06 Ulrich Drepper <drepper@redhat.com> * locales/de_DE: Use two-letter abday values. diff --git a/localedata/locales/st_ZA b/localedata/locales/st_ZA new file mode 100644 index 0000000..a8a4b24 --- /dev/null +++ b/localedata/locales/st_ZA @@ -0,0 +1,254 @@ +escape_char / +comment_char % + +% ChangeLog +% 0.1 (2003-04-21): +% - Initial Sotho locale for South Africa +% by Zuza Software Foundation + +LC_IDENTIFICATION +title "Sotho locale for South Africa" +source "Zuza Software Foundation" +address "PO Box 13412, Mowbray, 7705, South Africa" +contact "Dwayne Bailey" +email "dwayne@translate.org.za" +tel "+27 (0)21 448 9265" +fax "+27 (0)21 448 9574" +language "Sotho" +territory "South Africa" +revision "0.1" +date "2003-04-21" +% +category "st_ZA:2003";LC_IDENTIFICATION +category "st_ZA:2003";LC_CTYPE +category "st_ZA:2003";LC_COLLATE +category "st_ZA:2003";LC_TIME +category "st_ZA:2003";LC_NUMERIC +category "st_ZA:2003";LC_MONETARY +category "st_ZA:2003";LC_MESSAGES +category "st_ZA:2003";LC_PAPER +category "st_ZA:2003";LC_NAME +category "st_ZA:2003";LC_ADDRESS +category "st_ZA:2003";LC_TELEPHONE +category "st_ZA:2003";LC_MEASUREMENT + +END LC_IDENTIFICATION + +LC_CTYPE +% Use the characters described in the charmap file "i18n.tgz" +copy "i18n" +END LC_CTYPE + +LC_COLLATE +% Copy the template from ISO/IEC 14651 i.e. +% use the rules there when making ordered lists of words. +copy "iso14651_t1" +END LC_COLLATE + +LC_MONETARY +copy "en_ZA" +END LC_MONETARY + +LC_NUMERIC +copy "en_ZA" +END LC_NUMERIC + +LC_TIME + +% abday - The abbreviations for the week days: +% - Son, Mma, Bed, Rar, Ne, Hla, Moq +abday "<U0053><U006F><U006E>";/ + "<U004D><U006D><U0061>";/ + "<U0042><U0065><U0064>";/ + "<U0052><U0061><U0072>";/ + "<U004E><U0065>";/ + "<U0048><U006C><U0061>";/ + "<U004D><U006F><U0071>" + +% day - The full names of the week days: +% - Sontaha, Mmantaha, Labobedi, Laboraru, Labone, Labohlane, Moqebelo +day "<U0053><U006F><U006E><U0074><U0061><U0068><U0061>";/ + "<U004D><U006D><U0061><U006E><U0074><U0061><U0068><U0061>";/ + "<U004C><U0061><U0062><U006F><U0062><U0065><U0064><U0069>";/ + "<U004C><U0061><U0062><U006F><U0072><U0061><U0072><U0075>";/ + "<U004C><U0061><U0062><U006F><U006E><U0065>";/ + "<U004C><U0061><U0062><U006F><U0068><U006C><U0061><U006E><U0065>";/ + "<U004D><U006F><U0071><U0065><U0062><U0065><U006C><U006F>" + +% abmon - The abbreviations for the months +% - Phe, Kol, Ube, Mme, Mot, Jan, Upu, Pha, Leo, Mph, Pun, Tsh +abmon "<U0050><U0068><U0065>";"<U004B><U006F><U006C>";/ + "<U0055><U0062><U0065>";"<U004D><U006D><U0065>";/ + "<U004D><U006F><U0074>";"<U004A><U0061><U006E>";/ + "<U0055><U0070><U0075>";"<U0050><U0068><U0061>";/ + "<U004C><U0065><U006F>";"<U004D><U0070><U0068>";/ + "<U0050><U0075><U006E>";"<U0054><U0073><U0068>" + +% mon - The full names of the months - +% - Phesekgong, Hlakola, Hlakubele, Mmese, Motsheanong, Phupjane, +% Phupu, Phata, Leotshe, Mphalane, Pundungwane, Tshitwe +mon "<U0050><U0068><U0065><U0073><U0065><U006B><U0067><U006F><U006E><U0067>";/ + "<U0048><U006C><U0061><U006B><U006F><U006C><U0061>";/ + "<U0048><U006C><U0061><U006B><U0075><U0062><U0065><U006C><U0065>";/ + "<U004D><U006D><U0065><U0073><U0065>";/ + "<U004D><U006F><U0074><U0073><U0068><U0065><U0061><U006E><U006F><U006E><U0067>";/ + "<U0050><U0068><U0075><U0070><U006A><U0061><U006E><U0065>";/ + "<U0050><U0068><U0075><U0070><U0075>";/ + "<U0050><U0068><U0061><U0074><U0061>";/ + "<U004C><U0065><U006F><U0074><U0073><U0068><U0065>";/ + "<U004D><U0070><U0068><U0061><U006C><U0061><U006E><U0065>";/ + "<U0050><U0075><U006E><U0064><U0075><U006E><U0067><U0077><U0061><U006E><U0065>";/ + "<U0054><U0073><U0068><U0069><U0074><U0077><U0065>" + +% Abreviated date and time representation to be referenced by the "%c" field descriptor - +d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" +% +% "%a" (short weekday name), +% "%d" (day of month as a decimal number), +% "%b" (short month name), +% "%Y" (year with century as a decimal number), +% "%T" (24-hour clock time in format HH:MM:SS), +% "%Z" (Time zone name) + +% Date representation to be referenced by the "%x" field descriptor - +d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>" +% "%d/%m/%Y", day/month/year as decimal numbers (01/01/2000). + +% Time representation to be referenced by the "%X" field descriptor - +t_fmt "<U0025><U0054>" +% "%T" (24-hour clock time in format HH:MM:SS) + +% Define representation of ante meridiem and post meridiem strings - +am_pm "";"" +% The "" mean 'default to "AM" and "PM". + +% Define time representation in 12-hour format with "am_pm", to be referenced by the "%r" +t_fmt_ampm "" +% The "" means that this format is not supported. + +% Date representation not described in ISO/IEC 14652. Comes out as - +% "%a %b %e %H:%M:%S %Z %Y" which is default "date" command output +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ +<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ +<U0025><U005A><U0020><U0025><U0059>" +% +% %a - abbreviated weekday name, +% %b - abreviated month name, +% %e - day of month as a decimal number with leading space (1 to 31), +% %H - hour (24-hour clock) as a decimal number (00 to 23), +% %M - minute as a decimal number (00 to 59), +% %S - seconds as a decimal number (00 to 59), +% %Z - time-zone name, +% %Y - year with century as a decimal number,e.g. 2001. + +END LC_TIME + +LC_MESSAGES +% FIXME: Check both of these +% The affirmative response - +% "^[yY].*" +yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>" + +% The negative response - +% "^[nN].*" +noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +END LC_MESSAGES + +LC_PAPER +copy "en_ZA" +END LC_PAPER + +LC_TELEPHONE +copy "en_ZA" +END LC_TELEPHONE + +LC_MEASUREMENT +copy "en_ZA" +END LC_MEASUREMENT + +LC_NAME +% Format for addressing a person. +name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/ +<U0025><U006D><U0025><U0074><U0025><U0066>" +% "%d%t%g%t%m%t%f" +% "Salutation", +% "Empty string, or <Space>", +% "First given name", +% "Empty string, or <Space>", +% "Middle names", +% "Empty string, or <Space>", +% "Clan names" + +% FIXME - define all the following name_* +% General salutation for any sex +% name_gen "" + +% Salutation for unmarried females - "" +% name_miss "" + +% Salutation for males - "" +% name_mr "" + +% Salutation for married females - "" +% name_mrs "" + +% Salutation valid for all females - "" (no term) +% name_ms "" + +END LC_NAME + +LC_ADDRESS +% Country name in Sotho - "Afrika Borwa" +country_name "<U0041><U0066><U0072><U0069><U006B><U0061><U0020><U0042><U006F><U0072><U0077><U0061>" + +% Abbreviated country postal name - "ZA" +country_post "<U005A><U0041>" + +% ISO 3166 two letter country abbreviation - "ZA" +country_ab2 "<U005A><U0041>" + +% FIXME define the following correctly +% country_ab3 "" +% country_car "" +% country_isbn "" +% country_num + +% Language name in Sotho - "Sesotho" +lang_name "<U0053><U0065><U0073><U006F><U0074><U0068><U006F>" + +% FIXME define the following correctly +% lang_ab "" +% lang_term "" + +% Representation of postal addresses (minus the addressee's name) in South +% Africa. (Ignored for now) +postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ +<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/ +<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/ +<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/ +<U004E><U0025><U0063><U0025><U004E>" +% "%f%N%a%N%d%N%b%N%s %h %e %r%N%%z %T%N%c%N", which gives - +% "firm name", +% "end of line", +% "C/O address", +% "end of line", +% "department name", +% "Building name", +% "end of line", +% "street or block name", +% "space", +% "house number or designation", +% "space", +% "floor number", +% "space", +% "room number, door designation", +% "end of line", +% "postal code", +% "space", +% "town, city", +% "end of line", +% "country designation for the <country_post> keyword", +% "end of line +% +END LC_ADDRESS + diff --git a/localedata/locales/xh_ZA b/localedata/locales/xh_ZA new file mode 100644 index 0000000..e067df3 --- /dev/null +++ b/localedata/locales/xh_ZA @@ -0,0 +1,235 @@ +escape_char / +comment_char % + +% ChangeLog +% 0.1 (2003-05-08): +% - Initial Xhosa locale by Zuza Software Foundation + +LC_IDENTIFICATION +title "Xhosa locale for South Africa" +source "Zuza Software Foundation" +address "PO Box 13412, Mowbray, 7705, South Africa" +contact "Dwayne Bailey" +email "dwayne@translate.org.za" +tel "+27 (0)21 448 9265" +fax "+27 (0)21 448 9574" +language "Xhosa" +territory "South Africa" +revision "0.1" +date "2003-05-08" +% +category "xh_ZA:2003";LC_IDENTIFICATION +category "xh_ZA:2003";LC_CTYPE +category "xh_ZA:2003";LC_COLLATE +category "xh_ZA:2003";LC_TIME +category "xh_ZA:2003";LC_NUMERIC +category "xh_ZA:2003";LC_MONETARY +category "xh_ZA:2003";LC_MESSAGES +category "xh_ZA:2003";LC_PAPER +category "xh_ZA:2003";LC_NAME +category "xh_ZA:2003";LC_ADDRESS +category "xh_ZA:2003";LC_TELEPHONE +category "xh_ZA:2003";LC_MEASUREMENT + +END LC_IDENTIFICATION + +LC_CTYPE +% Use the characters described in the charmap file "i18n.tgz" +copy "i18n" +END LC_CTYPE + +LC_COLLATE +% Copy the template from ISO/IEC 14651 i.e. +% use the rules there when making ordered lists of words. +copy "iso14651_t1" +END LC_COLLATE + +LC_MONETARY +copy "en_ZA" +END LC_MONETARY + +LC_NUMERIC +copy "en_ZA" +END LC_NUMERIC + +LC_TIME +% The abbreviations for the week days: +% - Caw, Mvu, Bin, Tha, Sin, Hla, Mgq +abday "<U0043><U0061><U0077>";/ + "<U004D><U0076><U0075>";/ + "<U0042><U0069><U006E>";/ + "<U0054><U0068><U0061>";/ + "<U0053><U0069><U006E>";/ + "<U0048><U006C><U0061>";/ + "<U004D><U0067><U0071>" +% +% The full names of the week days: +% - Cawe, Mvulo, Lwesibini, Lwesithathu, Lwesine, Lwesihlanu, Mgqibelo +day "<U0043><U0061><U0077><U0065>";/ + "<U004D><U0076><U0075><U006C><U006F>";/ + "<U004C><U0077><U0065><U0073><U0069><U0062><U0069><U006E><U0069>";/ + "<U004C><U0077><U0065><U0073><U0069><U0074><U0068><U0061><U0074><U0068><U0075>";/ + "<U004C><U0077><U0065><U0073><U0069><U006E><U0065>";/ + "<U004C><U0077><U0065><U0073><U0069><U0068><U006C><U0061><U006E><U0075>";/ + "<U004D><U0067><U0071><U0069><U0062><U0065><U006C><U006F>" +% +% The abbreviations for the months +% - Jan, Feb, Mat, Epr, Mey, Jun, Jul, Aga, Sep, Okt, Nov, Dis +abmon "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/ + "<U004D><U0061><U0074>";"<U0045><U0070><U0072>";/ + "<U004D><U0065><U0079>";"<U004A><U0075><U006E>";/ + "<U004A><U0075><U006C>";"<U0041><U0067><U0061>";/ + "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/ + "<U004E><U006F><U0076>";"<U0044><U0069><U0073>" +% +% The full names of the months - +% - Janyuwari, Februwari, Matshi, Epreli, Meyi, Juni, Julayi, Agasti, Septemba, +% Okthoba, Novemba, Disemba +mon "<U004A><U0061><U006E><U0079><U0075><U0077><U0061><U0072><U0069>";/ + "<U0046><U0065><U0062><U0072><U0075><U0077><U0061><U0072><U0069>";/ + "<U004D><U0061><U0074><U0073><U0068><U0069>";/ + "<U0045><U0070><U0072><U0065><U006C><U0069>";/ + "<U004D><U0065><U0079><U0069>";/ + "<U004A><U0075><U006E><U0069>";/ + "<U004A><U0075><U006C><U0061><U0079><U0069>";/ + "<U0041><U0067><U0061><U0073><U0074><U0069>";/ + "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0061>";/ + "<U004F><U006B><U0074><U0068><U006F><U0062><U0061>";/ + "<U004E><U006F><U0076><U0065><U006D><U0062><U0061>";/ + "<U0044><U0069><U0073><U0065><U006D><U0062><U0061>" +% +% Abreviated date and time representation to be referenced by the "%c" field descriptor - +d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" +% "%a" (weekday name), +% "%d" (day of month as a decimal number), +% "%b" (month name), +% "%Y" (year with century as a decimal number), +% "%T" (24-hour clock time in format HH:MM:SS), +% "%Z" (Time zone name) +% +% Date representation to be referenced by the "%x" field % descriptor - +% "%d/%m/%Y", day/month/year as decimal numbers (01/01/2000). +d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>" +% +% Time representation to be referenced by the "%X" field descriptor - +% "%T" (24-hour clock time in format HH:MM:SS) +t_fmt "<U0025><U0054>" +% +% Define representation of ante meridiem and post meridiem strings - +% The ""s means default to "AM" and "PM". +am_pm "";"" +% +% Define time representation in 12-hour format with "am_pm", to be referenced by the "%r" +% field descriptor - +% The "" means that this format is not supported. +t_fmt_ampm "" +% +% Date representation not described in ISO/IEC 14652. +% Comes out as - "%a %b %e %H:%M:%S %Z %Y" +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ +<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ +<U0025><U005A><U0020><U0025><U0059>" +% which is: +% abbreviated weekday name, +% day of month as a decimal number (01 to 31), +% day of month as a decimal number with leading space (1 to 31), +% hour (24-hour clock) as a decimal number (00 to 23), +% minute as a decimal number (00 to 59), +% seconds as a decimal number (00 to 59), +% time-zone name, +% year with century as a decimal number,e.g. 2001. +% +END LC_TIME + +LC_MESSAGES +% The affirmative response - +% "^[yYeE].*" +yesexpr "<U005E><U005B><U0079><U0059><U0065><U0045><U005D><U002E><U002A>" +% +% The negative response - +% "^[nNhH].*" +noexpr "<U005E><U005B><U006E><U004E><U0068><U0048><U005D><U002E><U002A>" +% +END LC_MESSAGES + +LC_PAPER +copy "en_ZA" +END LC_PAPER + +LC_TELEPHONE +copy "en_ZA" +END LC_TELEPHONE + +LC_MEASUREMENT +copy "en_ZA" +END LC_MEASUREMENT + +LC_NAME +% Format for addressing a person. +name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/ +<U0025><U006D><U0025><U0074><U0025><U0066>" +% "%d%t%g%t%m%t%f" +% "Salutation", +% "Empty string, or <Space>", +% "First given name", +% "Empty string, or <Space>", +% "Middle names", +% "Empty string, or <Space>", +% "Clan names" +% +% Salutation for unmarried females - "Nkosazana" +name_miss "<U004E><U006B><U006F><U0073><U0061><U007A><U0061><U006E><U0061>" +% +% Salutation for males - "Mnumzana" +name_mr "<U004D><U006E><U0075><U006D><U007A><U0061><U006E><U0061>" +% +% Salutation for married females - "Nkosikazi" +name_mrs "<U004E><U006B><U006F><U0073><U0069><U006B><U0061><U007A><U0069>" +% +% Salutation valid for all females - "" (no term) +name_ms "" +END LC_NAME + +LC_ADDRESS +% Country name in Xhosa - "Mzantsi Afrika" +country_name "<U004D><U007A><U0061><U006E><U0074><U0073><U0069><U0020>/ +<U0041><U0066><U0072><U0069><U006B><U0061>" +% +% Abbreviated country postal name - "ZA" +country_post "<U005A><U0041>" +% +% ISO 3166 two letter country abbreviation - "ZA" +country_ab2 "<U005A><U0041>" +% +% Representation of postal addresses (minus the addressee's name) in South +% Africa. (Ignored for now) +postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ +<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/ +<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/ +<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/ +<U004E><U0025><U0063><U0025><U004E>" +% "%f%N%a%N%d%N%b%N%s %h %e %r%N%%z %T%N%c%N", which gives - +% "firm name", +% "end of line", +% "C/O address", +% "end of line", +% "department name", +% "Building name", +% "end of line", +% "street or block name", +% "space", +% "house number or designation", +% "space", +% "floor number", +% "space", +% "room number, door designation", +% "end of line", +% "postal code", +% "space", +% "town, city", +% "end of line", +% "country designation for the <country_post> keyword", +% "end of line +% +END LC_ADDRESS + diff --git a/localedata/locales/zu_ZA b/localedata/locales/zu_ZA new file mode 100644 index 0000000..a0eed1c --- /dev/null +++ b/localedata/locales/zu_ZA @@ -0,0 +1,241 @@ +escape_char / +comment_char % + +% ChangeLog +% 0.1 (2003-04-19): +% - Initial Zulu locale by Zuza Software Foundation + +LC_IDENTIFICATION +title "Zulu locale for South Africa" +source "Zuza Software Foundation" +address "PO Box 13412, Mowbray, 7705, South Africa" +contact "Dwayne Bailey" +email "dwayne@translate.org.za" +tel "+27 (0)21 448 9265" +fax "+27 (0)21 448 9574" +language "Zulu" +territory "South Africa" +revision "0.1" +date "2003-04-19" +% +category "zu_ZA:2003";LC_IDENTIFICATION +category "zu_ZA:2003";LC_CTYPE +category "zu_ZA:2003";LC_COLLATE +category "zu_ZA:2003";LC_TIME +category "zu_ZA:2003";LC_NUMERIC +category "zu_ZA:2003";LC_MONETARY +category "zu_ZA:2003";LC_MESSAGES +category "zu_ZA:2003";LC_PAPER +category "zu_ZA:2003";LC_NAME +category "zu_ZA:2003";LC_ADDRESS +category "zu_ZA:2003";LC_TELEPHONE +category "zu_ZA:2003";LC_MEASUREMENT + +END LC_IDENTIFICATION + +LC_CTYPE +% Use the characters described in the charmap file "i18n.tgz" +% +copy "i18n" +END LC_CTYPE + +LC_COLLATE +% Copy the template from ISO/IEC 14651 i.e. +% use the rules there when making ordered lists of words. +% +copy "iso14651_t1" +END LC_COLLATE + +LC_MONETARY +copy "en_ZA" +END LC_MONETARY + +LC_NUMERIC +copy "en_ZA" +END LC_NUMERIC + +LC_TIME +% abday - The abbreviations for the week days: +% - Son, Mso, Bil, Tha, Sin, Hla, Mgq +abday "<U0053><U006F><U006E>";/ + "<U004D><U0073><U006F>";/ + "<U0042><U0069><U006C>";/ + "<U0054><U0068><U0061>";/ + "<U0053><U0069><U006E>";/ + "<U0048><U006C><U0061>";/ + "<U004D><U0067><U0071>" + +% day - The full names of the week days: +% - Sonto, Msombuluko, Lwesibili, Lwesithathu, Lwesine, Lwesihlanu, Mgqibelo +day "<U0053><U006F><U006E><U0074><U006F>";/ + "<U004D><U0073><U006F><U006D><U0062><U0075><U006C><U0075><U006B><U006F>";/ + "<U004C><U0077><U0065><U0073><U0069><U0062><U0069><U006C><U0069>";/ + "<U004C><U0077><U0065><U0073><U0069><U0074><U0068><U0061><U0074><U0068><U0075>";/ + "<U004C><U0077><U0065><U0073><U0069><U006E><U0065>";/ + "<U004C><U0077><U0065><U0073><U0069><U0068><U006C><U0061><U006E><U0075>";/ + "<U004D><U0067><U0071><U0069><U0062><U0065><U006C><U006F>" + +% abmon - The abbreviations for the months +% - Jan, Feb, Mas, Apr, Mey, Jun, Jul, Aga, Sep, Okt, Nov, Dis +abmon "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/ + "<U004D><U0061><U0073>";"<U0041><U0070><U0072>";/ + "<U004D><U0065><U0079>";"<U004A><U0075><U006E>";/ + "<U004A><U0075><U006C>";"<U0041><U0067><U0061>";/ + "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/ + "<U004E><U006F><U0076>";"<U0044><U0069><U0073>" + +% mon - The full names of the months - +% - Januwari, Februwari, Mashi, Apreli, Meyi, Juni, Julayi, Agasti, Septemba, +% Okthoba, Novemba, Disemba +mon "<U004A><U0061><U006E><U0075><U0077><U0061><U0072><U0069>";/ + "<U0046><U0065><U0062><U0072><U0075><U0077><U0061><U0072><U0069>";/ + "<U004D><U0061><U0073><U0068><U0069>";/ + "<U0041><U0070><U0072><U0065><U006C><U0069>";/ + "<U004D><U0065><U0079><U0069>";/ + "<U004A><U0075><U006E><U0069>";/ + "<U004A><U0075><U006C><U0061><U0079><U0069>";/ + "<U0041><U0067><U0061><U0073><U0074><U0069>";/ + "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0061>";/ + "<U004F><U006B><U0074><U0068><U006F><U0062><U0061>";/ + "<U004E><U006F><U0076><U0065><U006D><U0062><U0061>";/ + "<U0044><U0069><U0073><U0065><U006D><U0062><U0061>" + +% Abreviated date and time representation to be referenced by the "%c" field descriptor - +d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" +% +% "%a" (short weekday name), +% "%d" (day of month as a decimal number), +% "%b" (short month name), +% "%Y" (year with century as a decimal number), +% "%T" (24-hour clock time in format HH:MM:SS), +% "%Z" (Time zone name) + +% Date representation to be referenced by the "%x" field descriptor - +% "%d/%m/%Y", day/month/year as decimal numbers (01/01/2000). +d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>" + +% Time representation to be referenced by the "%X" field descriptor - +% "%T" (24-hour clock time in format HH:MM:SS) +t_fmt "<U0025><U0054>" + +% Define representation of ante meridiem and post meridiem strings - +% The ""s mean default to "AM" and "PM". +am_pm "";"" + +% Define time representation in 12-hour format with "am_pm", to be referenced by the "%r" +% field descriptor - +% The "" means that this format is not supported. +t_fmt_ampm "" + +% Date representation not described in ISO/IEC 14652. Comes out as - +% "%a %b %e %H:%M:%S %Z %Y" +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ +<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ +<U0025><U005A><U0020><U0025><U0059>" +% which is +% %a - abbreviated weekday name, +% %b - abreviated month name, +% %e - day of month as a decimal number with leading space (1 to 31), +% %H - hour (24-hour clock) as a decimal number (00 to 23), +% %M - minute as a decimal number (00 to 59), +% %S - seconds as a decimal number (00 to 59), +% %Z - time-zone name, +% %Y - year with century as a decimal number,e.g. 2001. + +END LC_TIME + +LC_MESSAGES +yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>" +% The affirmative response - +% "^[yY].*" +% +noexpr "<U005E><U005B><U006E><U004E><U0063><U0043><U005D><U002E><U002A>" +% The negative response - +% "^[nNcC].*" +% +END LC_MESSAGES + +LC_PAPER +copy "en_ZA" +END LC_PAPER + +LC_TELEPHONE +copy "en_ZA" +END LC_TELEPHONE + +LC_MEASUREMENT +copy "en_ZA" +END LC_MEASUREMENT + +LC_NAME +name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/ +<U0025><U006D><U0025><U0074><U0025><U0066>" +% Format for addressing a person. +% "%d%t%g%t%m%t%f" +% "Salutation", +% "Empty string, or <Space>", +% "First given name", +% "Empty string, or <Space>", +% "Middle names", +% "Empty string, or <Space>", +% "Clan names" +% +name_miss "<U004E><U006B><U006F><U0073><U0061><U007A><U0061><U006E><U0065>" +% Salutation for unmarried females - "Nkosazane" +% +name_mr "<U004D><U006E><U0075><U006D><U007A><U0061><U006E><U0065>" +% Salutation for males - "Mnumzane" +% +name_mrs "<U004E><U006B><U006F><U0073><U0069><U006B><U0061><U007A><U0069>" +% Salutation for married females - "Nkosikazi" +% +name_ms "" +% Salutation valid for all females - "" (no term) +END LC_NAME + +LC_ADDRESS +country_name "<U004D><U007A><U0061><U006E><U0073><U0069><U0020>/ +<U0041><U0066><U0072><U0069><U006B><U0061>" +% Country name in Zulu - "Mzansi Afrika" +% +country_post "<U005A><U0041>" +% Abbreviated country postal name - "ZA" +% +country_ab2 "<U005A><U0041>" +% ISO 3166 two letter country abbreviation - "ZA" +% +lang_name "<U0049><U0073><U0069><U007A><U0075><U006C><U0075>" +% Language name in Zulu - "Isizulu" +% +postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ +<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/ +<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/ +<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/ +<U004E><U0025><U0063><U0025><U004E>" +% Representation of postal addresses (minus the addressee's name) in South +% Africa. (Ignored for now) +% "%f%N%a%N%d%N%b%N%s %h %e %r%N%%z %T%N%c%N", which gives - +% "firm name", +% "end of line", +% "C/O address", +% "end of line", +% "department name", +% "Building name", +% "end of line", +% "street or block name", +% "space", +% "house number or designation", +% "space", +% "floor number", +% "space", +% "room number, door designation", +% "end of line", +% "postal code", +% "space", +% "town, city", +% "end of line", +% "country designation for the <country_post> keyword", +% "end of line +% +END LC_ADDRESS + diff --git a/manual/llio.texi b/manual/llio.texi index e9b5573..4ac6c5f 100644 --- a/manual/llio.texi +++ b/manual/llio.texi @@ -1542,19 +1542,28 @@ empty set. @comment BSD @deftypefn Macro void FD_SET (int @var{filedes}, fd_set *@var{set}) This macro adds @var{filedes} to the file descriptor set @var{set}. + +The @var{filedes} parameter must not have side effects since it is +evaluated more than once. @end deftypefn @comment sys/types.h @comment BSD @deftypefn Macro void FD_CLR (int @var{filedes}, fd_set *@var{set}) This macro removes @var{filedes} from the file descriptor set @var{set}. + +The @var{filedes} parameter must not have side effects since it is +evaluated more than once. @end deftypefn @comment sys/types.h @comment BSD -@deftypefn Macro int FD_ISSET (int @var{filedes}, fd_set *@var{set}) +@deftypefn Macro int FD_ISSET (int @var{filedes}, const fd_set *@var{set}) This macro returns a nonzero value (true) if @var{filedes} is a member of the file descriptor set @var{set}, and zero (false) otherwise. + +The @var{filedes} parameter must not have side effects since it is +evaluated more than once. @end deftypefn Next, here is the description of the @code{select} function itself. diff --git a/manual/resource.texi b/manual/resource.texi index 9d2e17b..0c394f2 100644 --- a/manual/resource.texi +++ b/manual/resource.texi @@ -558,6 +558,7 @@ POSIX syntax had in mind. * Realtime Scheduling:: Scheduling among the process nobility * Basic Scheduling Functions:: Get/set scheduling policy, priority * Traditional Scheduling:: Scheduling among the vulgar masses +* CPU Affinity:: Limiting execution to certain CPUs @end menu @@ -1246,6 +1247,180 @@ nice (int increment) @end smallexample @end deftypefun + +@node CPU Affinity +@subsection Limiting execution to certain CPUs + +On a multi-processor system the operating system usually distributes +the different processes which are runnable on all available CPUs in a +way which allows the system to work most efficiently. Which processes +and threads run can be to some extend be control with the scheduling +functionality described in the last sections. But which CPU finally +executes which process or thread is not covered. + +There are a number of reasons why a program might want to have control +over this aspect of the system as well: + +@itemize @bullet +@item +One thread or process is responsible for absolutely critical work +which under no circumstances must be interrupted or hindered from +making process by other process or threads using CPU resources. In +this case the special process would be confined to a CPU which no +other process or thread is allowed to use. + +@item +The access to certain resources (RAM, I/O ports) has different costs +from different CPUs. This is the case in NUMA (Non-Uniform Memory +Architecture) machines. Preferrably memory should be accessed locally +but this requirement is usually not visible to the scheduler. +Therefore forcing a process or thread to the CPUs which have local +access to the mostly used memory helps to significantly boost the +performance. + +@item +In controlled runtimes resource allocation and book-keeping work (for +instance garbage collection) is performance local to processors. This +can help to reduce locking costs if the resources do not have to be +protected from concurrent accesses from different processors. +@end itemize + +The POSIX standard up to this date is of not much help to solve this +problem. The Linux kernel provides a set of interfaces to allow +specifying @emph{affinity sets} for a process. The scheduler will +schedule the thread or process on on CPUs specified by the affinity +masks. The interfaces which the GNU C library define follow to some +extend the Linux kernel interface. + +@comment sched.h +@comment GNU +@deftp {Data Type} cpu_set_t +This data set is a bitset where each bit represents a CPU. How the +system's CPUs are mapped to bits in the bitset is system dependent. +The data type has a fixed size; in the unlikely case that the number +of bits are not sufficient to describe the CPUs of the system a +different interface has to be used. + +This type is a GNU extension and is defined in @file{sched.h}. +@end deftp + +To manipulate the bitset, to set and reset bits, a number of macros is +defined. Some of the macros take a CPU number as a parameter. Here +it is important to never exceed the size of the bitset. The following +macro specifies the number of bits in the @code{cpu_set_t} bitset. + +@comment sched.h +@comment GNU +@deftypevr Macro int CPU_SETSIZE +The value of this macro is the maximum number of CPUs which can be +handled with a @code{cpu_set_t} object. +@end deftypevr + +The type @code{cpu_set_t} should be considered opaque; all +manipulation should happen via the next four macros. + +@comment sched.h +@comment GNU +@deftypefn Macro void CPU_ZERO (cpu_set_t *@var{set}) +This macro initializes the CPU set @var{set} to be the empty set. + +This macro is a GNU extension and is defined in @file{sched.h}. +@end deftypefn + +@comment sched.h +@comment GNU +@deftypefn Macro void CPU_SET (int @var{cpu}, cpu_set_t *@var{set}) +This macro adds @var{cpu} to the CPU set @var{set}. + +The @var{cpu} parameter must not have side effects since it is +evaluated more than once. + +This macro is a GNU extension and is defined in @file{sched.h}. +@end deftypefn + +@comment sched.h +@comment GNU +@deftypefn Macro void CPU_CLR (int @var{cpu}, cpu_set_t *@var{set}) +This macro removes @var{cpu} from the CPU set @var{set}. + +The @var{cpu} parameter must not have side effects since it is +evaluated more than once. + +This macro is a GNU extension and is defined in @file{sched.h}. +@end deftypefn + +@comment sched.h +@comment GNU +@deftypefn Macro int CPU_ISSET (int @var{cpu}, const cpu_set_t *@var{set}) +This macro returns a nonzero value (true) if @var{cpu} is a member +of the CPU set @var{set}, and zero (false) otherwise. + +The @var{cpu} parameter must not have side effects since it is +evaluated more than once. + +This macro is a GNU extension and is defined in @file{sched.h}. +@end deftypefn + + +CPU bitsets can be constructed from scratch or the currently installed +affinity mask can be retrieved from the system. + +@comment sched.h +@comment GNU +@deftypefun int sched_getaffinity (pid_t @var{pid}, cpu_set_t *@var{cpuset}) + +This functions stores the CPU affinity mask for the process or thread +with the ID @var{pid} in the memory pointed to by @var{cpuset}. If +successful, the function always initializes all bits in the +@code{cpu_set_t} object and returns zero. + +If @var{pid} does not correspond to a process or thread on the system +the or the function fails for some other reason, it returns @code{-1} +and @code{errno} is set to represent the error condition. + +@table @code +@item ESRCH +No process or thread with the given ID found. + +@item EFAULT +The pointer @var{cpuset} is does not point to a valid object. +@end table + +This function is a GNU extension and is declared in @file{sched.h}. +@end deftypefun + +Note that it is not portably possible to use this information to +retrieve the information for different POSIX threads. A separate +interface must be provided for that. + +@comment sched.h +@comment GNU +@deftypefun int sched_setaffinity (pid_t @var{pid}, const cpu_set_t *@var{cpuset}) + +This function installs the affinity mask pointed to by @var{cpuset} +for the process or thread with the ID @var{pid}. If successful the +function returns zero and the scheduler will in future take the +affinity information into account. + +If the function fails it will return @code{-1} and @code{errno} is set +to the error code: + +@table @code +@item ESRCH +No process or thread with the given ID found. + +@item EFAULT +The pointer @var{cpuset} is does not point to a valid object. + +@item EINVAL +The bitset is not valid. This might mean that the affinity set might +not leave a processor for the process or thread to run on. +@end table + +This function is a GNU extension and is declared in @file{sched.h}. +@end deftypefun + + @node Memory Resources @section Querying memory available resources diff --git a/sysdeps/pthread/lio_listio64.c b/sysdeps/pthread/lio_listio64.c index 0249a05..165ce05 100644 --- a/sysdeps/pthread/lio_listio64.c +++ b/sysdeps/pthread/lio_listio64.c @@ -1,5 +1,5 @@ /* Enqueue and list of read or write requests, 64bit offset version. - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -42,6 +42,7 @@ lio_listio64 (mode, list, nent, sig) int nent; struct sigevent *sig; { + struct sigevent defsigev; struct requestlist *requests[nent]; int cnt; volatile int total = 0; @@ -54,6 +55,12 @@ lio_listio64 (mode, list, nent, sig) return -1; } + if (sig == NULL) + { + defsigev.sigev_notify = SIGEV_NONE; + sig = &defsigev; + } + /* Request the mutex. */ pthread_mutex_lock (&__aio_requests_mutex); diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist index 6cae4ca..f9f6a1a 100644 --- a/sysdeps/unix/sysv/linux/Dist +++ b/sysdeps/unix/sysv/linux/Dist @@ -40,7 +40,6 @@ netax25/ax25.h neteconet/ec.h netinet/if_fddi.h netinet/if_tr.h -netinet/igmp.h netpacket/packet.h netipx/ipx.h netrom/netrom.h diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 9df9d6a..d402dd1 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -116,7 +116,7 @@ sysdep_routines += exit-thread endif ifeq ($(subdir),inet) -sysdep_headers += netinet/if_fddi.h netinet/if_tr.h netinet/igmp.h \ +sysdep_headers += netinet/if_fddi.h netinet/if_tr.h \ netipx/ipx.h netash/ash.h netax25/ax25.h netatalk/at.h \ netrom/netrom.h netpacket/packet.h netrose/rose.h \ neteconet/ec.h |