* ftpd/ftpd.c, httpd/asp.c, httpd/ejparse.c, httpd/emfdb.c,
httpd/misc.c, httpd/um.c, httpd/webs.c, httpd/websuemf.c,
libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_format.c,
libfs/src/dosfs/msdos_misc.c, libfs/src/nfsclient/src/nfs.c,
libmisc/capture/capture-cli.c, libmisc/monitor/mon-network.c,
libmisc/shell/hexdump-odsyntax.c, libmisc/shell/main_ifconfig.c,
libmisc/shell/shell.c, libmisc/shell/shell_makeargs.c,
libmisc/uuid/parse.c, libnetworking/libc/gethostbydns.c,
libnetworking/libc/gethostbyht.c, libnetworking/libc/gethostnamadr.c,
libnetworking/libc/getnetnamadr.c, libnetworking/libc/inet_addr.c,
libnetworking/libc/inet_network.c, libnetworking/libc/res_debug.c,
libnetworking/libc/res_init.c, libnetworking/libc/res_query.c,
libnetworking/rtems/rtems_mii_ioctl.c,
score/src/objectgetnameasstring.c: Readdress use of ctype methods per
recommendation from D.J. Delorie on the newlib mailing list. We
should pass an unsigned char into these methods.
* libblock/src/ide_part_table.c: Fixed NULL pointer access.
* libmisc/monitor/mon-command.c, libmisc/monitor/mon-editor.c,
libmisc/monitor/mon-monitor.c, libmisc/monitor/monitor.h,
libmisc/shell/cmds.c: The list of registered monitor commands is now
private and only accessible via a lookup and iterate function.
* libmisc/serdbg/termios_printk.c, libmisc/serdbg/termios_printk.h:
Fixed incompatible return value.
* libmisc/cpuuse/cpuusagereport.c: Changed output format.
* libmisc/Makefile.am, libmisc/monitor/mon-editor.c: New file.
* libmisc/capture/capture-cli.c, libmisc/monitor/mon-command.c,
libmisc/monitor/mon-monitor.c, libmisc/monitor/mon-object.c,
libmisc/monitor/mon-prmisc.c, libmisc/monitor/mon-symbols.c,
libmisc/monitor/monitor.h, libmisc/shell/cat_file.c,
libmisc/shell/cmds.c, libmisc/shell/internal.h,
libmisc/shell/main_help.c, libmisc/shell/shell.c,
libmisc/shell/shell.h, libmisc/shell/shell_cmdset.c,
libmisc/shell/shell_getchar.c, libmisc/shell/str2int.c: Various global
data is now read only. Added 'const' qualifier to many pointer
parameters. It is no longer possible to remove monitor commands.
Moved monitor line editor into a separate file to avoid unnecessary
dependencies.
* itron/include/rtems/itron/itronapi.h, libmisc/capture/capture.c,
libmisc/monitor/mon-config.c, libmisc/monitor/mon-driver.c,
libmisc/monitor/mon-itask.c, libmisc/monitor/mon-mpci.c,
posix/include/rtems/posix/config.h,
posix/include/rtems/posix/posixapi.h,
rtems/include/rtems/rtems/config.h,
rtems/include/rtems/rtems/rtemsapi.h, rtems/src/taskinitusers.c,
sapi/include/confdefs.h, sapi/include/rtems/config.h,
sapi/include/rtems/init.h, sapi/src/exinit.c, sapi/src/itronapi.c,
sapi/src/posixapi.c, sapi/src/rtemsapi.c, score/src/isr.c,
score/src/thread.c, score/src/threadcreateidle.c,
score/src/threadstackallocate.c, score/src/threadstackfree.c,
score/src/wkspace.c: Eliminate pointers to API configuration tables
in the main configuration table. Reference the main configuration
table and the API configuration tables directly using the confdefs.h
version rather than obtaining a pointer to it. This eliminated some
variables, a potential fatal error, some unnecessary default
configuration structures. Overall, about a 4.5% reduction in the code
size for minimum and hello on the SPARC.
* libmisc/monitor/mon-monitor.c, rtems/include/rtems/rtems/types.h: Do
not have fp context type when no hardware or software floating point
is available.
* libmisc/monitor/monitor.h, rtems/include/rtems/rtems/tasks.h,
score/include/rtems/score/thread.h, score/src/threadreset.c,
score/src/threadrestart.c, score/src/threadstart.c: New type
Thread_Entry_numeric_type for numeric arguments in thread entry
functions with at least one numeric argument.
* rtems/include/rtems/rtems/sem.h, rtems/src/semobtain.c:
Changed option set type to rtems_option.
* score/src/objectgetinfo.c: Check return value of
_Objects_API_maximum_class().
* libmisc/monitor/mon-mpci.c, libmisc/monitor/monitor.h,
rtems/include/rtems/rtems/message.h, rtems/src/msgmp.c,
rtems/src/msgqallocate.c, rtems/src/msgqbroadcast.c,
rtems/src/msgqcreate.c, rtems/src/msgqreceive.c, rtems/src/msgqsend.c,
rtems/src/msgqurgent.c, score/include/rtems/score/coremsg.h,
score/include/rtems/score/mpci.h, score/include/rtems/score/thread.h,
score/inline/rtems/score/coremsg.inl, score/src/coremsg.c,
score/src/coremsgbroadcast.c, score/src/coremsgseize.c,
score/src/coremsgsubmit.c:
Removed parameters of _Message_queue_Allocate(). Changed option set
type to rtems_option. Changed type of maximum message and packet size
to size_t. Changed the input buffer type for message send functions to
"const void *". Changed the pointer to the second return argument in
the thread wait information to a union. This union can contain a
pointer to an immutable or a mutable object. This is somewhat fragile.
An alternative would be to add a third pointer for immutable objects,
but this would increase the structure size.
* libmisc/monitor/mon-extension.c, libmisc/monitor/mon-itask.c,
libmisc/monitor/mon-part.c, libmisc/monitor/mon-prmisc.c,
libmisc/monitor/mon-queue.c, libmisc/monitor/mon-region.c,
libmisc/monitor/mon-sema.c, libmisc/monitor/mon-task.c,
libmisc/monitor/monitor.h: Use rtems_object_get_name() instead of
internal routine. This makes it possible to also print string names
of POSIX objects. Adjust task report to realign since we can have
longer names.
* libmisc/monitor/mon-monitor.c, libmisc/monitor/mon-object.c,
libmisc/monitor/monitor.h, libmisc/shell/main_chmod.c,
libmisc/shell/main_tty.c, libmisc/shell/main_umask.c,
libmisc/shell/main_whoami.c: Add pthread command to monitor when
POSIX is enabled. Remove include of rtems/monitor.h from files not
related.
* libcsupport/src/__times.c, libmisc/cpuuse/cpuusagereport.c,
libmisc/cpuuse/cpuusagereset.c, libmisc/monitor/mon-task.c,
rtems/include/rtems/rtems/ratemon.h, rtems/src/ratemongetstatus.c,
rtems/src/ratemonperiod.c, score/include/rtems/score/thread.h,
score/src/threaddispatch.c, score/src/threadinitialize.c,
score/src/threadtickletimeslice.c: Add typedefs for cpu usage and
period timing statistics. Also renamed related variables and
structure members so they are the same whether you are using
nanosecond (e.g. struct timespec) or ticks (e.g. uint32_t)
granularity. This lays the groundwork for future cleanup.
* itron/include/rtems/itron/object.h, itron/src/cre_tsk.c,
libblock/src/show_bdbuf.c, libmisc/capture/capture-cli.c,
libmisc/capture/capture.c, libmisc/monitor/mon-manager.c,
libmisc/stackchk/check.c, posix/src/condinit.c,
posix/src/keycreate.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuenametoid.c,
posix/src/mqueueopen.c, posix/src/mqueueunlink.c,
posix/src/mutexinit.c, posix/src/pbarrierinit.c,
posix/src/prwlockinit.c, posix/src/pspininit.c,
posix/src/pthreadcreate.c, posix/src/pthreadexit.c,
posix/src/semaphorecreatesupp.c, posix/src/semaphorenametoid.c,
posix/src/timercreate.c, rtems/src/barrierident.c,
rtems/src/dpmemident.c, rtems/src/msgqident.c, rtems/src/partident.c,
rtems/src/ratemonident.c, rtems/src/regionident.c,
rtems/src/semident.c, rtems/src/taskident.c, rtems/src/timerident.c,
sapi/src/extensionident.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl, score/src/apimutexallocate.c,
score/src/objectextendinformation.c,
score/src/objectgetnameasstring.c, score/src/objectmp.c,
score/src/objectnametoid.c: Convert the Objects_Name type from a
simple type to a union of an unsigned 32 bit integer and a pointer.
This should help eliminate weird casts between u32 and pointers in
various places. The APIs now have to explicitly call _u32 or _string
versions of helper routines. This should also simplify things and
eliminate the need for ugly casts in some cases.
* score/src/objectclearname.c, score/src/objectcomparenameraw.c,
score/src/objectcomparenamestring.c, score/src/objectcopynameraw.c,
score/src/objectcopynamestring.c: Removed.
* configure.ac: fixed bug that always enabled strict order
mutexes.
* score/inline/rtems/score/coremutex.inl: Fixed coding standard.
* score/src/coremutex.c: Add the holder's thread to the lock_mutex
list if the mutex is initialised locked.
* libnetworking/rtems/rtems_glue.c: Changed semaphore error
message to show the error is an rtems-net error.
* libmisc/monitor/mon-network.c: Removed warnings.
* telnetd/icmds.c: Changed shell_* to rtems_shell_*.
* score/Makefile.am: Fixed typo that stopped 'make tags' working.
* libmisc/shell/err.c, libmisc/shell/err.h, libmisc/shell/errx.c,
libmisc/shell/extern-cp.h, libmisc/shell/fts.c,
libmisc/shell/fts.h, libmisc/shell/main_cp.c,
libmisc/shell/utils-cp.c, libmisc/shell/verr.c,
libmisc/shell/verrx.c, libmisc/shell/vwarn.c,
libmisc/shell/vwarnx.c, libmisc/shell/warn.c,
libmisc/shell/warnx.c: New. Ported from BSD.
* libmisc/shell/shellconfig.h: Add the cp command.
* libmisc/Makefile.am: Add the new files to the shell.
* libmisc/shell/shell.c, libmisc/shell/shell.h: Add scripting
support.
* libblock/src/flashdisk.c: Fixed disk drive count size setting
bug.
* libcsupport/src/malloc.c, libmisc/monitor/mon-command.c,
posix/preinstall.am, posix/include/rtems/posix/cond.h,
posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/pthread.h,
posix/include/rtems/posix/semaphore.h, posix/src/conddestroy.c,
posix/src/mutexdestroy.c, posix/src/mutexinit.c,
posix/src/mutexsetprioceiling.c, posix/src/mutexunlock.c,
sapi/include/confdefs.h, sapi/include/rtems/config.h,
sapi/include/rtems/init.h, sapi/include/rtems/sptables.h,
sapi/src/exinit.c, score/include/rtems/system.h,
score/include/rtems/score/mpci.h, score/src/mpci.c,
score/src/thread.c, score/src/threadcreateidle.c,
score/src/threadstackallocate.c, score/src/threadstackfree.c,
score/src/wkspace.c: Moved most of the remaining CPU Table fields to
the Configuration Table. This included pretasking_hook,
predriver_hook, postdriver_hook, idle_task, do_zero_of_workspace,
extra_mpci_receive_server_stack, stack_allocate_hook, and
stack_free_hook. As a side-effect of this effort some multiprocessing
code was made conditional and some style clean up occurred.
* libmisc/monitor/mon-monitor.c, libmisc/monitor/mon-object.c,
libmisc/monitor/monitor.h: Merge minor parts of Thomas' improvements
that are needed by osmonweb.
* libmisc/Makefile.am, libmisc/monitor/mon-object.c,
libmisc/monitor/monitor.h, sapi/include/confdefs.h,
sapi/include/rtems/config.h, sapi/include/rtems/io.h,
sapi/src/exinit.c, sapi/src/io.c: Eliminate maximum_drivers
configuration parameter since it was used to configure a no longer
used feature. Device names are now part of the filesystem not in a
table. This also eliminated the variables _IO_Number_of_devices and
_IO_Driver_name_table from RTEMS as well as the memory allocation
used to populate _IO_Driver_name_table.
* libmisc/monitor/mon-dname.c: Removed.