Added types, status of functions, cleaned up output of summarize.

This commit is contained in:
Joel Sherrill
1998-03-16 22:43:37 +00:00
parent 3349409381
commit 2a087f30a4
9 changed files with 316 additions and 229 deletions

View File

@@ -13,8 +13,8 @@
@subsection Get Process and Parent Process IDs
@example
getpid(), Function
getppid(), Function
getpid(), Function, Dummy Implementation
getppid(), Function, Dummy Implementation
@end example
@section User Identification
@@ -92,7 +92,7 @@ struct tms, Type,
times(), Function, Implemented
@end example
NOTE: times() always returns 0 for tms_stime, tms_cutime, and
NOTE: @code{times} always returns 0 for tms_stime, tms_cutime, and
tms_cstime fields of the @code{struct tms} returned.
@section Environment Variables
@@ -115,8 +115,8 @@ ctermid(), Function, Unimplemented
@example
ttyname(), Function, Untested Implementation, assumes directory services
ttyname_r(), Unimplemented
isatty(), Function, Dummy Implementation
ttyname_r(), Function, Unimplemented
isatty(), Function, Partial Implementation
@end example
@section Configurable System Variables

View File

@@ -15,11 +15,12 @@
@subsection Directory Operations
@example
opendir(), Function
readdir(), Function
readdir_r(), Function
rewinddir(), Function
closedir(), Function
struct dirent, Type, Unimplemented
opendir(), Function, Untested Implementation, assumes directory services
readdir(), Function, Untested Implementation, assumes directory services
readdir_r(), Function, Untested Implementation, assumes directory services
rewinddir(), Function, Untested Implementation, assumes directory services
closedir(), Function, Untested Implementation, assumes directory services
@end example
@section Working Directory
@@ -27,13 +28,13 @@ closedir(), Function
@subsection Change Current Working Directory
@example
chdir(), Function
chdir(), Function, Unimplemented
@end example
@subsection Get Working Directory Pathname
@example
getcwd(), Function
getcwd(), Function, Untested Implementation, assumes directory services
@end example
@section General File Creation
@@ -41,25 +42,25 @@ getcwd(), Function
@subsection Open a File
@example
open(), Function
open(), Function, Implemented, requires rework for directory services
@end example
@subsection Create a New File or Rewrite an Existing One
@example
creat(), Function
creat(), Function, Untested Implementation
@end example
@subsection Set File Creation Mask
@example
umask(), Function
umask(), Function, Unimplemented
@end example
@subsection Link to a File
@example
link(), Function
link(), Function, Dummy Implementation
@end example
@section Special File Creation
@@ -67,13 +68,13 @@ link(), Function
@subsection Make a Directory
@example
mkdir(), Function
mkdir(), Function, Unimplemented, assumes directory services
@end example
@subsection Make a FIFO Special File
@example
mkfifo(), Function
mkfifo(), Function, Unimplemented
@end example
@section File Removal
@@ -81,68 +82,73 @@ mkfifo(), Function
@subsection Remove Directory Entries
@example
unlink(), Function
unlink(), Function, Dummy Implementation
@end example
@subsection Remove a Directory
@example
rmdir(), Function
rmdir(), Function, Unimplemented
@end example
@subsection Rename a File
@example
rename(), Function
rename(), Function, Untested Implementation, assumes link/unlink
@end example
@section File Characteristics
@subsection File Characteristics Header and Data Structure
@example
struct stat, Type, Untested Implementation
@end example
@subsection Get File Status
@example
stat(), Function
fstat(), Function
stat(), Function, Partial Implementation
fstat(), Function, Partial Implementation
@end example
@subsection Check File Accessibility
@example
access(), Function
access(), Function, Unimplemented
@end example
@subsection Change File Modes
@example
chmod(), Function
fchmod(), Function
chmod(), Function, Unimplemented
fchmod(), Function, Unimplemented
@end example
@subsection Change Owner and Group of a File
@example
chown(), Function
chown(), Function, Unimplemented
@end example
@subsection Set File Access and Modification Times
@example
utime(), Function
struct utimbuf, Type,
utime(), Function, Unimplemented
@end example
@subsection Truncate a File to a Specified Length
@example
ftruncate(), Function
ftruncate(), Function, Unimplemented
@end example
@section Configurable Pathname Variable
@example
pathconf(), Function
fpathconf(), Function
pathconf(), Function, Unimplemented
fpathconf(), Function, Unimplemented
@end example
@subsection Get Configurable Pathname Variables

View File

@@ -13,7 +13,7 @@
@subsection Create an Inter-Process Channel
@example
pipe(), Function
pipe(), Function, Unimplemented
@end example
@section File Descriptor Manipulation
@@ -21,8 +21,8 @@ pipe(), Function
@subsection Duplicate an Open File Descriptor
@example
dup(), Function
dup2(), Function
dup(), Function, Unimplemented
dup2(), Function, Unimplemented
@end example
@section File Descriptor Deassignment
@@ -30,7 +30,7 @@ dup2(), Function
@subsection Close a File
@example
close(), Function
close(), Function, Partial Implementation
@end example
@section Input and Output
@@ -38,13 +38,13 @@ close(), Function
@subsection Read from a File
@example
read(), Function
read(), Function, Partial Implementation
@end example
@subsection Write to a File
@example
write(), Function
write(), Function, Partial Implementation
@end example
@section Control Operations on Files
@@ -54,13 +54,14 @@ write(), Function
@subsection File Control
@example
fcntl(), Function
struct flock, Type, Unimplemented
fcntl(), Function, Unimplemented
@end example
@subsection Reposition Read/Write File Offset
@example
lseek(), Function
lseek(), Function, Partial Implementation
@end example
@section File Synchronization
@@ -68,64 +69,68 @@ lseek(), Function
@subsection Synchronize the State of a File
@example
fsync(), Function
fsync(), Function, Unimplemented
@end example
@subsection Synchronize the Data of a File
@example
fdatasync(), Function
fdatasync(), Function, Unimplemented
@end example
@section Asynchronous Input and Output
@subsection Data Definitions for Asynchronous Input and Output
@example
struct aiocb, Type, Dummy Implementation
@end example
@subsection Asynchronous Read
@example
aio_read(), Function
aio_read(), Function, Dummy Implementation
@end example
@subsection Asynchronous Write
@example
aio_write(), Function
aio_write(), Function, Dummy Implementation
@end example
@subsection List Directed I/O
@example
aio_listio(), Function
lio_listio(), Function, Dummy Implementation
@end example
@subsection Retrieve Error Status of Asynchronous I/O Operation
@example
aio_error(), Function
aio_error(), Function, Dummy Implementation
@end example
@subsection Retrieve Return Status of Asynchronous I/O Operation
@example
aio_return(), Function
aio_return(), Function, Dummy Implementation
@end example
@subsection Cancel Asynchronous I/O Request
@example
aio_cancel(), Function
aio_cancel(), Function, Dummy Implementation
@end example
@subsection Wait for Asynchronous I/O Request
@example
aio_suspend(), Function
aio_suspend(), Function, Dummy Implementation
@end example
@subsection Asynchronous File Synchronization
@example
aio_fsync(), Function
aio_fsync(), Function, Dummy Implementation
@end example

View File

@@ -36,7 +36,11 @@
@subsection Parameters That Can Be Set
@subsubsection termios Structure
@subsubsection @code{termios} Structure
@example
struct termios, Type, Partial Implementation
@end example
@subsubsection Input Modes
@@ -52,6 +56,13 @@
@subsubsection Baud Rate Functions
@example
cfgetospeed(), Function, Unimplemented
cfsetospeed(), Function, Unimplemented
cfgetispeed(), Function, Unimplemented
cfsetispeed(), Function, Unimplemented
@end example
@subsubsection Synopsis
@subsubsection Description
@@ -67,28 +78,28 @@
@subsection Get and Set State
@example
tcgetattr(), Function
tcsetattr(), Function
tcgetattr(), Function, Implemented
tcsetattr(), Function, Implemented
@end example
@subsection Line Control Functions
@example
tcsendbreak(), Function
tcdrain(), Function
tcflush(), Function
tcflow(), Function
tcsendbreak(), Function, Unimplemented
tcdrain(), Function, Unimplemented
tcflush(), Function, Unimplemented
tcflow(), Function, Unimplemented
@end example
@subsection Get Foreground Process Group ID
@example
tcgetprgrp(), Function
tcgetprgrp(), Function, Unimplemented
@end example
@subsection Set Foreground Process Group ID
@example
tcsetprgrp(), Function
tcsetprgrp(), Function, Unimplemented
@end example

View File

@@ -13,158 +13,160 @@
ANSI C Section 4.2 --- Diagnostics
@example
assert(), Function
assert(), Function, Implemented
@end example
ANSI C Section 4.3 --- Character Handling
@example
isalnum(), Function
isalpha(), Function
iscntrl(), Function
isdigit(), Function
isgraph(), Function
islower(), Function
isprint(), Function
ispunct(), Function
isspace(), Function
isupper(), Function
isxdigit(), Function
tolower(), Function
toupper(), Function
isalnum(), Function, Implemented
isalpha(), Function, Implemented
iscntrl(), Function, Implemented
isdigit(), Function, Implemented
isgraph(), Function, Implemented
islower(), Function, Implemented
isprint(), Function, Implemented
ispunct(), Function, Implemented
isspace(), Function, Implemented
isupper(), Function, Implemented
isxdigit(), Function, Implemented
tolower(), Function, Implemented
toupper(), Function, Implemented
@end example
ANSI C Section 4.4 --- Localization
@example
setlocale(), Function
setlocale(), Function, Partial Implementation
@end example
ANSI C Section 4.5 --- Mathematics
@example
acos(), Function
asin(), Function
atan(), Function
atan2(), Function
cos(), Function
sin(), Function
tan(), Function
cosh(), Function
sinh(), Function
tanh(), Function
exp(), Function
frexp(), Function
ldexp(), Function
log(), Function
log10(), Function
modf(), Function
pow(), Function
sqrt(), Function
ceil(), Function
fabs(), Function
floor(), Function
fmod(), Function
acos(), Function, Implemented
asin(), Function, Implemented
atan(), Function, Implemented
atan2(), Function, Implemented
cos(), Function, Implemented
sin(), Function, Implemented
tan(), Function, Implemented
cosh(), Function, Implemented
sinh(), Function, Implemented
tanh(), Function, Implemented
exp(), Function, Implemented
frexp(), Function, Implemented
ldexp(), Function, Implemented
log(), Function, Implemented
log10(), Function, Implemented
modf(), Function, Implemented
pow(), Function, Implemented
sqrt(), Function, Implemented
ceil(), Function, Implemented
fabs(), Function, Implemented
floor(), Function, Implemented
fmod(), Function, Implemented
@end example
ANSI C Section 4.6 --- Non-Local Jumps
@example
setjmp(), Function
longjmp(), Function
setjmp(), Function, Implemented
longjmp(), Function, Implemented
@end example
ANSI C Section 4.9 --- Input/Output
@example
clearerr(), Function
fclose(), Function
feof(), Function
ferror(), Function
fflush(), Function
fgetc(), Function
fgets(), Function
fopen(), Function
fputc(), Function
fputs(), Function
fread(), Function
freopen(), Function
fseek(), Function
ftell(), Function
fwrite(), Function
getc(), Function
getchar(), Function
gets(), Function
perror(), Function
printf(), Function
fprintf(), Function
sprintf(), Function
putc(), Function
putchar(), Function
puts(), Function
remove(), Function
rename(), Function
rewind(), Function
scanf(), Function
fscanf(), Function
sscanf(), Function
setbuf(), Function
tmpfile(), Function
tmpnam(), Function
ungetc(), Function
clearerr(), Function, Implemented
fclose(), Function, Implemented
feof(), Function, Implemented
ferror(), Function, Implemented
fflush(), Function, Implemented
fgetc(), Function, Implemented
fgets(), Function, Implemented
fopen(), Function, Implemented
fputc(), Function, Implemented
fputs(), Function, Implemented
fread(), Function, Implemented
freopen(), Function, Implemented
fseek(), Function, Implemented
ftell(), Function, Implemented
fwrite(), Function, Implemented
getc(), Function, Implemented
getchar(), Function, Implemented
gets(), Function, Implemented
perror(), Function, Implemented
printf(), Function, Implemented
fprintf(), Function, Implemented
sprintf(), Function, Implemented
putc(), Function, Implemented
putchar(), Function, Implemented
puts(), Function, Implemented
remove(), Function, Implemented
rename(), Function, Implemented
rewind(), Function, Implemented
scanf(), Function, Implemented
fscanf(), Function, Implemented
sscanf(), Function, Implemented
setbuf(), Function, Implemented
tmpfile(), Function, Implemented
tmpnam(), Function, Implemented
ungetc(), Function, Implemented
@end example
ANSI C Section 4.10 --- General Utilities
@example
abs(), Function
atof(), Function
atoi(), Function
atol(), Function
rand(), Function
srand(), Function
calloc(), Function
free(), Function
malloc(), Function
realloc(), Function
abort(), Function
exit(), Function
getenv(), Function
bsearch(), Function
qsort(), Function
abs(), Function, Implemented
atof(), Function, Implemented
atoi(), Function, Implemented
atol(), Function, Implemented
rand(), Function, Implemented
srand(), Function, Implemented
calloc(), Function, Implemented
free(), Function, Implemented
malloc(), Function, Implemented
realloc(), Function, Implemented
abort(), Function, Implemented
exit(), Function, Implemented
getenv(), Function, Implemented
bsearch(), Function, Implemented
qsort(), Function, Implemented
@end example
ANSI C Section 4.11 --- String Handling
@example
strcpy(), Function
strncpy(), Function
strcat(), Function
strncat(), Function
strcmp(), Function
strncmp(), Function
strchr(), Function
strcspn(), Function
strpbrk(), Function
strrchr(), Function
strspn(), Function
strstr(), Function
strtok(), Function
strlen(), Function
strcpy(), Function, Implemented
strncpy(), Function, Implemented
strcat(), Function, Implemented
strncat(), Function, Implemented
strcmp(), Function, Implemented
strncmp(), Function, Implemented
strchr(), Function, Implemented
strcspn(), Function, Implemented
strpbrk(), Function, Implemented
strrchr(), Function, Implemented
strspn(), Function, Implemented
strstr(), Function, Implemented
strtok(), Function, Implemented
strlen(), Function, Implemented
@end example
ANSI C Section 4.12 --- Date and Time Handling
@example
time(), Function
asctime(), Function
ctime(), Function
gmtime(), Function
localtime(), Function
mktime(), Function
strftime(), Function
time(), Function, Implemented
asctime(), Function, Implemented
ctime(), Function, Implemented
gmtime(), Function, Implemented
localtime(), Function, Implemented
mktime(), Function, Implemented
strftime(), Function, Implemented
@end example
NOTE: RTEMS has no notion of time zones.
@subsection Extensions to Time Functions
@subsection Extensions to @code{setlocale} Function
@@ -174,13 +176,13 @@ strftime(), Function
@subsection Map a Stream Pointer to a File Descriptor
@example
fileno(), Function
fileno(), Function, Implemented
@end example
@subsection Open a Stream on a File Descriptor
@example
fdopen(), Function
fdopen(), Function, Implemented
@end example
@subsection Interactions of Other FILE-Type C Functions
@@ -192,18 +194,18 @@ fdopen(), Function
@subsection Stdio Locking Functions
@example
flockfile(), Function
ftrylockfile(), Function
funlockfile(), Function
flockfile(), Function, Unimplemented
ftrylockfile(), Function, Unimplemented
funlockfile(), Function, Unimplemented
@end example
@subsection Stdio With Explicit Client Locking
@example
getc_unlocked(), Function
getchar_unlocked(), Function
putc_unlocked(), Function
putchar_unlocked(), Function
getc_unlocked(), Function, Unimplemented
getchar_unlocked(), Function, Unimplemented
putc_unlocked(), Function, Unimplemented
putchar_unlocked(), Function, Unimplemented
@end example
@section Other C Language Functions
@@ -211,50 +213,49 @@ putchar_unlocked(), Function
@subsection Nonlocal Jumps
@example
sigsetjmp(), Function
siglongjmp(), Function
sigsetjmp(), Function, Unimplemented
siglongjmp(), Function, Unimplemented
@end example
@subsection Set Time Zone
@example
tzset(), Function
tzset(), Function, Unimplemented
@end example
@subsection Find String Token
@example
strtok_r(), Function
strtok_r(), Function, Implemented
@end example
@subsection ASCII Time Representation
@example
asctime_r(), Function
asctime_r(), Function, Implemented
@end example
@subsection Current Time Representation
@example
ctime_r(), Function
ctime_r(), Function, Implemented
@end example
@subsection Coordinated Universal Time
@example
gmtime_r(), Function
gmtime_r(), Function, Implemented
@end example
@subsection Local Time
@example
localtime_r(), Function
localtime_r(), Function, Implemented
@end example
@subsection Pseudo-Random Sequence Generation Functions
@example
rand_r(), Function
rand_r(), Function, Implemented
@end example

View File

@@ -15,18 +15,20 @@
@subsection Group Database Access
@example
getgrgid(), Function
getgrgid_r(), Function
getgrname(), Function
getgrnam_r(), Function
struct group, Type,
getgrgid(), Function, Unimplemented
getgrgid_r(), Function, Unimplemented
getgrname(), Function, Unimplemented
getgrnam_r(), Function, Unimplemented
@end example
@subsection User Database Access
@example
getpwuid(), Function
getpwuid_r(), Function
getpwnam(), Function
getpwnam_r(), Function
struct passwd, Type,
getpwuid(), Function, Untested Implemented, assumes /etc/passwd exists
getpwuid_r(), Function, Unimplemented
getpwnam(), Function, Untested Implemented, assumes /etc/passwd exists
getpwnam_r(), Function, Unimplemented
@end example

View File

@@ -12,7 +12,15 @@
@subsection Extended tar Format
@example
tar format, Type,
@end example
@subsection Extended cpio Format
@example
cpio format, Type,
@end example
@subsection Multiple Volumes

View File

@@ -15,50 +15,50 @@
@subsection Initialize an Unnamed Semaphore
@example
sem_init(), Function
sem_init(), Function, Untested Implementation
@end example
@subsection Destroy an Unnamed Semaphore
@example
sem__destroy(), Function
sem_destroy(), Function, Untested Implementation
@end example
@subsection Initialize/Open a Named Semaphore
@example
sem_open(), Function
sem_open(), Function, Untested Implementation
@end example
@subsection Close a Named Semaphore
@example
sem_close(), Function
sem_close(), Function, Untested Implementation
@end example
@subsection Remove a Named Semaphore
@example
sem_unlink(), Function
sem_unlink(), Function, Untested Implementation
@end example
@subsection Lock a Semaphore
@example
sem_wait(), Function
sem_trywait(), Function
sem_wait(), Function, Untested Implementation
sem_trywait(), Function, Untested Implementation
@end example
@subsection Unlock a Semaphore
@example
sem_post(), Function
sem_post(), Function, Untested Implementation
@end example
@subsection Get the Value of a Semaphore
@example
sem_getvalue(), Function
sem_getvalue(), Function, Untested Implementation
@end example
@section Mutexes

View File

@@ -14,61 +14,115 @@ echo
wc2()
{
grep "$1" $2 | wc -l
pattern=$1
shift
grep "${pattern}" $* | wc -l
}
wc3()
{
grep "$1" $2 | grep "$3" | wc -l
pattern=$1
filter=$2
shift ; shift
grep "${pattern}" $* | grep "${filter}" | wc -l
}
# adds the numbers passed on the command line
addit()
{
sumx=0
for x in $*
do
sumx=`expr $sumx + $x`
done
echo $sumx
}
summarize_chapter()
{
grep "^@chapter" $1 | \
sed -e "s/^.chapter/@section/" \
-e "s/$/ Chapter/"
echo
# takes at least 3.0 inches for each generated section
echo "@need 3000"
if [ $# -eq 1 ] ; then
grep "^@chapter" $1 | \
sed -e "s/^.chapter/@section/" \
-e "s/$/ Chapter/"
else
echo "@section Overall Summary"
fi
echo
functions_total=`wc2 "()" $1 `
functions_implemented=`wc3 "()" $1 "Implemented"`
functions_unimplemented=`wc3 "()" $1 "Unimplemented"`
functions_unmplementable=`wc3 "()" $1 "Unimplementable"`
functions_dummy=`wc3 "()" $1 "Dummy Implementation"`
functions_untested=`wc3 "()" $1 "Untested Implementation"`
functions_total=`wc2 "()" $*`
functions_implemented=` wc3 "()" "Implemented" $*`
functions_unimplemented=` wc3 "()" "Unimplemented" $*`
functions_unmplementable=`wc3 "()" "Unimplementable" $*`
functions_partial=` wc3 "()" "Partial Implementation" $*`
functions_dummy=` wc3 "()" "Dummy Implementation" $*`
functions_untested=` wc3 "()" "Untested Implementation" $*`
datatypes_total=`grep "Type," $1 | wc -l`
datatypes_implemented=`grep "Type," $1 | grep Implemented | wc -l`
datatypes_unimplemented=`grep "Type," $1 | grep Unimplemented | wc -l`
datatypes_unmplementable=`grep "Type," $1 | grep Unimplementable | wc -l`
functions_sum=`addit ${functions_implemented} \
${functions_unimplemented} ${functions_unmplementable} \
${functions_partial} ${functions_dummy} \
${functions_untested}`
datatypes_total=`wc2 "Type," $*`
datatypes_implemented=` wc3 "Type," "Implemented" $*`
datatypes_unimplemented=` wc3 "Type," "Unimplemented" $*`
datatypes_unmplementable=`wc3 "Type," "Unimplementable" $*`
datatypes_partial=` wc3 "Type," "Partial Implementation" $*`
datatypes_dummy=` wc3 "Type," "Dummy Implementation" $*`
datatypes_sum=`addit ${datatypes_implemented} \
${datatypes_unimplemented} ${datatypes_unmplementable} \
${datatypes_partial} ${datatypes_dummy} \
${datatypes_untested}`
echo "@example"
echo "Functions:"
echo " Total Number : ${functions_total}"
echo " Implemented : ${functions_implemented}"
echo " Unimplemented : ${functions_unimplemented}"
echo " Unimplementable: ${functions_unmplementable}"
echo " Working Dummies: ${functions_dummy}"
echo " Untested : ${functions_untested}"
echo " Total Number : ${functions_total}"
echo " Implemented : ${functions_implemented}"
echo " Unimplemented : ${functions_unimplemented}"
echo " Unimplementable : ${functions_unmplementable}"
echo " Partial : ${functions_partial}"
echo " Dummy : ${functions_dummy}"
echo " Untested : ${functions_untested}"
echo "@end example"
echo
if [ ${functions_sum} -ne ${functions_total} ] ; then
echo "@sp"
echo "@center{@b{FUNCTION COUNTS DO NOT ADD UP!!}}"
echo "@sp"
fi
echo "@example"
echo "Data Types:"
echo " Total Number : ${datatypes_total}"
echo " Implemented : ${datatypes_implemented}"
echo " Unimplemented : ${datatypes_unimplemented}"
echo " Unimplementable: ${datatypes_unmplementable}"
echo " Total Number : ${datatypes_total}"
echo " Implemented : ${datatypes_implemented}"
echo " Unimplemented : ${datatypes_unimplemented}"
echo " Unimplementable : ${datatypes_unmplementable}"
echo " Partial : ${datatypes_partial}"
echo " Dummy : ${datatypes_dummy}"
echo "@end example"
echo
if [ ${datatypes_sum} -ne ${datatypes_total} ] ; then
echo "@sp"
echo "@center{@b{DATA TYPE COUNTS DO NOT ADD UP!!}}"
echo "@sp"
fi
}
chapters="ch01.t ch02.t ch03.t ch04.t ch05.t ch06.t ch07.t ch08.t \
ch09.t ch10.t ch11.t ch12.t ch13.t ch14.t ch15.t ch16.t ch17.t ch18.t"
# go through the chapters one at a time
for chapter in ${chapters}
do
summarize_chapter $chapter
done
# now generate the overall summary
summarize_chapter ${chapters}