diff --git a/en/projects/c99/index.sgml b/en/projects/c99/index.sgml new file mode 100644 index 0000000000..0bbc1b0909 --- /dev/null +++ b/en/projects/c99/index.sgml @@ -0,0 +1,967 @@ + + + + + %includes; + %developers; + + + + + + + + + + +"> +"> +"> +"> +"> + + + + +assert(3)"> +printf(3)"> +scanf(3)"> +strtod(3)"> +printf(9)"> +]> + + +
+
+
+ Last updated: 10 April, 2002
+ +The FreeBSD C99 & POSIX Conformance Project aims + to implement all requirements of the ISO 9899:1999 (C99) and + IEEE 1003.1-2001 (POSIX) standards. In cases where aspects of + these standards cannot be followed, those aspects will be documented + in the c99(7) or posix(7) manuals. It is also an aim of this + project to implement regression tests to ensure correctness + whenever possible.
+ +All of the initial development will take place in the + 5.0-CURRENT branch and hopefully most of the changes will + eventually be merged into the 4-STABLE branch. Since this is a + rather large project and is being done on a volunteer basis, + there is no set schedule.
+ +The project is always looking for additional contributors. If you + wish to participate, the best way to find out what is happening + is to subscribe to the freebsd-standards + mailing list. If you are working on a specific task + relating to the project, you should contact + mike@FreeBSD.org with a + description of the task so that your task can be listed + below.
+ +ISO/IEC 9899:1999, also known as C99, is available + for purchase in electronic form from the + American + National Standards Institute, or available from the + International + Organization for Standardization store in electronic + and paper form.
IEEE Std 1003.1-2001 + - The free (registration required), online version of + POSIX.1-2001 and SUSv3 standard.
Are + you Ready For C99? - This article discusses some of the + new features in C99.
+Most discussion relating to + this project takes place on the &a.standards; mailing list. + To subscribe to the list, send a message to &a.majordomo; + with "subscribe freebsd-standards" in the body of the + text.
Jens Schweikhardt maintains a + list + with the current status of POSIX Utility Conformance in + FreeBSD.
| Task | +Responsible | +Last Updated | +Status | +|
|---|---|---|---|---|
| 5.0 | +4.x | +|||
| Documentation | +||||
| Document standards conformity level of the API. | ++ | 26 March 2002 | +&status.wip; | +&status.blank; | +
| Document thread safety and async-cancel safety. | ++ | 26 March 2002 | +&status.wip; | +&status.blank; | +
| Create c99(7) and posix(7) manuals. | ++ | 11 December 2001 | +&status.new; | +&status.blank; | +
| Document in posix(7) that the batch job management utilities + are available in the port net/generic-nqs. | ++ | 11 December 2001 | +&status.new; | +&status.blank; | +
| Functions and System Calls | +||||
| Implement strerror_r(). | +&a.wes; | +20 December 2001 | +&status.done; | +&status.done; | +
| Implement tgamma() based on Lite1's gamma(). | +&a.bde; | +27 March 2002 | +&status.done; | +&status.n-a; | +
| Add __func__ reporting to &man.assert.3;. | +&a.asmodai; | +27 October 2001 | +&status.done; | +&status.new; | +
| Implement imaxabs(), imaxdiv(), llabs(), lldiv(). | +&a.mike; | +14 November 2001 | +&status.done; | +&status.new; | +
| Implement atoll(), strtoimax(), strtoumax(). | +&a.fenner; | +27 November 2001 | +&status.done; | +&status.new; | +
| Implement new C99 format types in &man.printf.3;. | + &a.wollman;, &a.fenner; |
+ 30 November 2001 | +&status.done; | +&status.new; | +
| Implement new format types in &man.scanf.3;. | +&a.fenner; | +26 October 2001 | +&status.wip; | +&status.blank; | +
| Implement strtof(), strtold(). | +&a.phantom; | +20 December 2001 | +&status.wip; | +&status.blank; | +
| Investigate syncing strtod.c with David M. Gay (Lucent)'s + sources. | +&a.phantom; | +11 December 2001 | +&status.wip; | +&status.blank; | +
| Implement getgrgid_r(), getgrnam_r(). | +&a.wes; | +20 December 2001 | +&status.wip; | +&status.blank; | +
| Implement getpwnam_r(), getpwuid_r(). | +&a.wes; | +20 December 2001 | +&status.wip; | +&status.blank; | +
| Implement new functions that appear in <complex.h>. | +&a.markm; | +6 February 2002 | +&status.wip; | +&status.blank; | +
| Implement new conversion specifiers (%j and %z) in + &man.printf.9;. | +&a.dd; | +5 April 2002 | +&status.wip; | +&status.blank; | +
| Implement new functions that appear in <fenv.h>. | +&a.fenner; | +14 November 2001 | +&status.new; | +&status.blank; | +
| Make non thread-safe functions thread-safe. | ++ | 22 October 2001 | +&status.new; | +&status.blank; | +
| Make functions async-cancel safe. | ++ | 22 October 2001 | +&status.new; | +&status.blank; | +
| Add restrict type-qualifier to functions that require it. | ++ | 27 October 2001 | +&status.new; | +&status.blank; | +
| Implement new POSIX format types in &man.printf.3;. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Headers | +||||
| Fix prototypes and hide non-conforming portions of header + <arpa/inet.h>. | +&a.mike; | +19 February 2002 | +&status.done; | +&status.n-a; | +
| Add exposure control primitives to <sys/cdefs.h> + (originally developed by &a.wollman). | +&a.mike; | +1 April 2002 | +&status.done; | +&status.n-a; | +
| Implement <sys/_types> to store shared MI types. | +&a.mike; | +1 April 2002 | +&status.done; | +&status.n-a; | +
| Implement header <strings.h>, and work out + compatibility issues with header <string.h>. | +&a.mike; | +4 April 2002 | +&status.done; | +&status.n-a; | +
| Implement the <stdint.h> and <inttypes.h> + headers. | +&a.mike; | +1 March 2002 | +&status.done; | +&status.blocked; | +
| Implement new types and prototypes in header + <complex.h>. | +&a.markm; | +6 February 2002 | +&status.wip; | +&status.blank; | +
| Hide non-conforming portions, add missing types to + <sys/types.h>. | +&a.mike; | +1 April 2002 | +&status.wip; | +&status.blank; | +
| Reduce namespace pollution and add missing typedefs in + <unistd.h> | +&a.mike; | +25 March 2002 | +&status.wip; | +&status.blank; | +
| Remove pollution and add missing macros to + <netinet/in.h> and <netinet6/in6.h>. | +&a.mike; | +1 April 2002 | +&status.wip; | +&status.blank; | +
| Hide non-conforming portions, add missing types to + <sys/un.h>. | +&a.mike; | +1 April 2002 | +&status.wip; | +&status.blank; | +
| Implement the header <fenv.h>. | +&a.fenner; | +14 November 2001 | +&status.new; | +&status.blank; | +
| Miscellaneous | +||||
| Obtain a copy of Proc. ACM SIGPLAN '90 (required for + &man.printf.3; %'f). | +&a.fenner; | +9 November 2001 | +&status.done; | +&status.n-a; | +
| Add regression test for each function. | ++ | 17 November 2001 | +&status.new; | +&status.blank; | +
| Utility Conformance | +||||
| Add -o option and base64 decoding to the uudecode utility. | +&a.jmallett; | +26 March 2002 | +&status.done; | +&status.done; | +
| Add -m option and base64 encoding to the uuencode utility. | +&a.jmallett; | +26 March 2002 | +&status.done; | +&status.done; | +
| Improve join(1)'s POSIX.1-2001 conformance. (PR: 36072) | +&a.tim; | +27 March 2002 | +&status.done; | +&status.n-a; | +
| Require atleast one file argument in paste(1). (PR: 36074) | +&a.tim; | +1 April 2002 | +&status.done; | +&status.done; | +
| Add -a option to the split utility. | +&a.tim; | +1 April 2002 | +&status.done; | +&status.n-a; | +
| Add the -i option to the patch utility. | +&a.jmallett; | +9 April 2002 | +&status.done; | +&status.done; | +
| Add -r and -t options to the at utility. | +&a.joe.halpin; | +13 January 2002 | +&status.done; | +&status.new; | +
| Add -L option to the pwd utility. | +&a.tim; | +4 February 2002 | +&status.done; | +&status.new; | +
| Fix exit status of the env(1) utility. | +&a.tim; | +20 February 2002 | +&status.done; | +&status.new; | +
| Make expr(1) conform to POSIX.1-2001. | +&a.wollman; | +24 March 2002 | +&status.done; | +&status.new; | +
| Add the -f and -p options to the pr utility. (PR: 36243) | +&a.tim; | +31 March 2002 | +&status.done; | +&status.new; | +
| Add -n option and resolve other issues in the renice utility. (PR: 36950) | + &a.pavalos;, &a.maxim; |
+ 10 April 2002 | +&status.wip; | +&status.blank; | +
| Add missing options to the mailx utility. | +&a.mikeh; | +22 December 2001 | +&status.wip; | +&status.blank; | +
| Add the pathchk utility. | +&a.chuckr; | +2 January 2002 | +&status.wip; | +&status.blank; | +
| Add -n option to the nice utility. | +&a.pavalos; | +13 January 2002 | +&status.wip; | +&status.blank; | +
| Add the tabs utility. (PR: 36126) | +&a.tim; | +25 January 2002 | +&status.wip; | +&status.blank; | +
| Add -I and -L options to the xargs utility. | +&a.jmallett; | +27 January 2002 | +&status.wip; | +&status.blank; | +
| Add the -b and -s option to the fold utility. (PR: 36245) | +&a.tim; | +31 January 2002 | +&status.wip; | +&status.blank; | +
| Add -m option to the wc utility. | +&a.tim; | +1 March 2002 | +&status.blocked; | +&status.blank; | +
| Add the -s option to the m4 utility. (PR: 36075) | +&a.tim; | +4 February 2002 | +&status.wip; | +&status.blank; | +
| Add -C option to the tr utility. | +&a.tim; | +9 February 2002 | +&status.wip; | +&status.blank; | +
| Implement the -m, -p, and -x options in the ls utility. | +&a.mkm; | +1 March 2002 | +&status.wip; | +&status.blank; | +
| Add missing components to the jobs utility. | +&a.mkm; | +5 March 2002 | +&status.wip; | +&status.blank; | +
| Add -t option to uuexpand(1) utility. (PR: 35621) | +&a.tim; | +18 March 2002 | +&status.wip; | +&status.blank; | +
| Make printf(1) utility conform to POSIX.2 (1992). (PR: 35616) | +&a.tim; | +18 March 2002 | +&status.wip; | +&status.blank; | +
| Implement the fuser utility. (PR: 36076) | +&a.tim; | +24 March 2002 | +&status.wip; | +&status.blank; | +
| Add the c99 utility (similar to c89). (PR: 36087) | +&a.tim; | +24 March 2002 | +&status.wip; | +&status.blank; | +
| Add missing options to the who utility. (PR: 36128) | +&a.tim; | +24 March 2002 | +&status.wip; | +&status.blank; | +
| Implement the asa utility. (PR: 36130) | +&a.tim; | +24 March 2002 | +&status.wip; | +&status.blank; | +
| Implement the csplit utility. (PR: 36191) | +&a.tim; | +24 March 2002 | +&status.wip; | +&status.blank; | +
| Implement the locale and + localedef utilities. | +&a.phantom; | +11 December 2001 | +&status.new; | +&status.blank; | +
| Implement/import the SCCS development utilities: + admin, + delta, + get, + prs, + rmdel, + sact, + sccs, + unget, + val | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add -C and -T options to the ar utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add -L and -P options to the cd utility (shell built-in). | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Investigate importing the cflow utility from the ports collection. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add -p, -v, and -V options to the command utility (shell built-in). | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Bring the cp utility up to conformance. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Implement the cxref utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Work out conflicting -t option in the df utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Document the -n option in the echo utility as being non-POSIX compliant. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add the -d, -h, and -M options and fix conflicting -i option in the file utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Implement the iconv utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Implement the -m, -w, and -t options in the lp utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Bring the make utility up to conformance. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add -p option the more utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add the newgrp utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add missing options and resolve conflicting options in the nm utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add the -s, -A, -j, -N, and -t option to the od utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Investigate adopting some of the POSIX options in the ps utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add the qsub utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Add unimplemented features to the sh utility. | ++ | 30 November 2001 | +&status.new; | +&status.blank; | +
| Wide Character/String Support + This area is managed by &a.dec; and &a.kbyanc;. + Changes to this section should be coordinated through + them. |
+ ||||
| Implement wcstoimax(), wcstoumax(). | ++ | 11 October 2001 | +&status.new; | +&status.blank; | +
| Implement wcrtomb(). | ++ | 27 November 2001 | +&status.new; | +&status.blank; | +
| Legend | +|
|---|---|
| &status.new; | +Not yet started | +
| &status.blocked; | +Blocked awaiting completion of another task | +
| &status.wip; | +Work in progress | +
| &status.done; | +Task completed | +
| &status.n-a; | +Not planned | +
![]()
The remainder of this page is structured as a + reverse-chronological log.
+ + 3 March 2002 +A new status + report on the state of the project, covering December and + January, has been produced.
+The Open Group has + announced + the completion of SUSv3 and POSIX.1-2001 and the availability + of a free, online version of the specification.
+A new status + report on the current state of the project has been + produced.
+The IEEE Standards Board has approved the Austin Group + Specification as IEEE Std 1003.1.
+The project mailing list has been moved from + freebsd-standards@bostonradio.org to &a.standards;.
+A status + report on the current state of the project has been + produced.
+This web page was created.
+The original layout for this web page was borrowed from + the FreeBSD SMPng Project. BSD Daemon Copyright 1988 by Marshall + Kirk McKusick. All Rights Reserved.
+ &footer; + + diff --git a/en/projects/c99/style.css b/en/projects/c99/style.css new file mode 100644 index 0000000000..beecc6f17a --- /dev/null +++ b/en/projects/c99/style.css @@ -0,0 +1,38 @@ +BODY { +} + +BODY TD { + font-size: 13px; +} + +BODY SMALL { + width: 615px; + font-size: 11px; +} + +.heading { + font-size: 15px; + background-color: #cbd2ec; +} + +.section { + font-size: 15px; + font-weight: bold; + background-color: #e7e9f7; +} + +.notes { + font-size: 13px; + font-weight: normal; +} + +.main { + width: 615px; + height: auto; + text-align: justify; +} + +.list { + width: 550px; + height: auto; +}