summaryrefslogtreecommitdiff
path: root/nuttx/lib
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-10 15:47:45 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-10 15:47:45 +0000
commit419e8f29bc9f67478830f7aae6499ee109d1d926 (patch)
tree717b5e7f971706d7f3206153d45948b7ba0ecbcf /nuttx/lib
parent596e5fed4ea6663d0fd5a37cb95fb3aa8b6b5d0f (diff)
downloadnuttx-419e8f29bc9f67478830f7aae6499ee109d1d926.tar.gz
nuttx-419e8f29bc9f67478830f7aae6499ee109d1d926.tar.bz2
nuttx-419e8f29bc9f67478830f7aae6499ee109d1d926.zip
move lib/ to libc/ to make room for a true lib/ directory. Rename libraries to match
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5328 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/lib')
-rw-r--r--nuttx/lib/Kconfig275
-rw-r--r--nuttx/lib/Makefile136
-rw-r--r--nuttx/lib/README.txt85
-rw-r--r--nuttx/lib/dirent/Make.defs48
-rw-r--r--nuttx/lib/dirent/lib_readdirr.c122
-rw-r--r--nuttx/lib/dirent/lib_telldir.c91
-rw-r--r--nuttx/lib/fixedmath/Make.defs43
-rw-r--r--nuttx/lib/fixedmath/lib_b16atan2.c108
-rw-r--r--nuttx/lib/fixedmath/lib_b16cos.c64
-rw-r--r--nuttx/lib/fixedmath/lib_b16sin.c110
-rw-r--r--nuttx/lib/fixedmath/lib_fixedmath.c272
-rw-r--r--nuttx/lib/fixedmath/lib_rint.c135
-rw-r--r--nuttx/lib/lib.csv171
-rw-r--r--nuttx/lib/lib_internal.h211
-rw-r--r--nuttx/lib/libgen/Make.defs43
-rw-r--r--nuttx/lib/libgen/lib_basename.c131
-rw-r--r--nuttx/lib/libgen/lib_dirname.c144
-rw-r--r--nuttx/lib/math/Kconfig26
-rw-r--r--nuttx/lib/math/Make.defs62
-rw-r--r--nuttx/lib/math/lib_acos.c46
-rw-r--r--nuttx/lib/math/lib_acosf.c41
-rw-r--r--nuttx/lib/math/lib_acosl.c46
-rw-r--r--nuttx/lib/math/lib_asin.c69
-rw-r--r--nuttx/lib/math/lib_asinf.c65
-rw-r--r--nuttx/lib/math/lib_asinl.c69
-rw-r--r--nuttx/lib/math/lib_atan.c48
-rw-r--r--nuttx/lib/math/lib_atan2.c86
-rw-r--r--nuttx/lib/math/lib_atan2f.c81
-rw-r--r--nuttx/lib/math/lib_atan2l.c87
-rw-r--r--nuttx/lib/math/lib_atanf.c43
-rw-r--r--nuttx/lib/math/lib_atanl.c48
-rw-r--r--nuttx/lib/math/lib_ceil.c52
-rw-r--r--nuttx/lib/math/lib_ceilf.c47
-rw-r--r--nuttx/lib/math/lib_ceill.c52
-rw-r--r--nuttx/lib/math/lib_cos.c46
-rw-r--r--nuttx/lib/math/lib_cosf.c41
-rw-r--r--nuttx/lib/math/lib_cosh.c47
-rw-r--r--nuttx/lib/math/lib_coshf.c42
-rw-r--r--nuttx/lib/math/lib_coshl.c47
-rw-r--r--nuttx/lib/math/lib_cosl.c46
-rw-r--r--nuttx/lib/math/lib_exp.c126
-rw-r--r--nuttx/lib/math/lib_expf.c112
-rw-r--r--nuttx/lib/math/lib_expl.c126
-rw-r--r--nuttx/lib/math/lib_fabs.c46
-rw-r--r--nuttx/lib/math/lib_fabsf.c41
-rw-r--r--nuttx/lib/math/lib_fabsl.c46
-rw-r--r--nuttx/lib/math/lib_floor.c52
-rw-r--r--nuttx/lib/math/lib_floorf.c47
-rw-r--r--nuttx/lib/math/lib_floorl.c52
-rw-r--r--nuttx/lib/math/lib_fmod.c52
-rw-r--r--nuttx/lib/math/lib_fmodf.c47
-rw-r--r--nuttx/lib/math/lib_fmodl.c52
-rw-r--r--nuttx/lib/math/lib_frexp.c47
-rw-r--r--nuttx/lib/math/lib_frexpf.c42
-rw-r--r--nuttx/lib/math/lib_frexpl.c47
-rw-r--r--nuttx/lib/math/lib_ldexp.c46
-rw-r--r--nuttx/lib/math/lib_ldexpf.c41
-rw-r--r--nuttx/lib/math/lib_ldexpl.c46
-rw-r--r--nuttx/lib/math/lib_libexpi.c103
-rw-r--r--nuttx/lib/math/lib_libsqrtapprox.c50
-rw-r--r--nuttx/lib/math/lib_log.c82
-rw-r--r--nuttx/lib/math/lib_log10.c46
-rw-r--r--nuttx/lib/math/lib_log10f.c41
-rw-r--r--nuttx/lib/math/lib_log10l.c46
-rw-r--r--nuttx/lib/math/lib_log2.c46
-rw-r--r--nuttx/lib/math/lib_log2f.c41
-rw-r--r--nuttx/lib/math/lib_log2l.c46
-rw-r--r--nuttx/lib/math/lib_logf.c77
-rw-r--r--nuttx/lib/math/lib_logl.c80
-rw-r--r--nuttx/lib/math/lib_modf.c58
-rw-r--r--nuttx/lib/math/lib_modff.c55
-rw-r--r--nuttx/lib/math/lib_modfl.c61
-rw-r--r--nuttx/lib/math/lib_pow.c46
-rw-r--r--nuttx/lib/math/lib_powf.c41
-rw-r--r--nuttx/lib/math/lib_powl.c46
-rw-r--r--nuttx/lib/math/lib_sin.c114
-rw-r--r--nuttx/lib/math/lib_sinf.c104
-rw-r--r--nuttx/lib/math/lib_sinh.c47
-rw-r--r--nuttx/lib/math/lib_sinhf.c42
-rw-r--r--nuttx/lib/math/lib_sinhl.c47
-rw-r--r--nuttx/lib/math/lib_sinl.c114
-rw-r--r--nuttx/lib/math/lib_sqrt.c99
-rw-r--r--nuttx/lib/math/lib_sqrtf.c84
-rw-r--r--nuttx/lib/math/lib_sqrtl.c101
-rw-r--r--nuttx/lib/math/lib_tan.c46
-rw-r--r--nuttx/lib/math/lib_tanf.c41
-rw-r--r--nuttx/lib/math/lib_tanh.c49
-rw-r--r--nuttx/lib/math/lib_tanhf.c44
-rw-r--r--nuttx/lib/math/lib_tanhl.c49
-rw-r--r--nuttx/lib/math/lib_tanl.c46
-rw-r--r--nuttx/lib/misc/Make.defs69
-rw-r--r--nuttx/lib/misc/lib_crc32.c123
-rw-r--r--nuttx/lib/misc/lib_dbg.c165
-rw-r--r--nuttx/lib/misc/lib_dumpbuffer.c129
-rw-r--r--nuttx/lib/misc/lib_filesem.c145
-rw-r--r--nuttx/lib/misc/lib_init.c207
-rw-r--r--nuttx/lib/misc/lib_match.c148
-rw-r--r--nuttx/lib/misc/lib_sendfile.c297
-rw-r--r--nuttx/lib/misc/lib_streamsem.c90
-rw-r--r--nuttx/lib/mqueue/Make.defs48
-rw-r--r--nuttx/lib/mqueue/mq_getattr.c104
-rw-r--r--nuttx/lib/mqueue/mq_setattr.c118
-rw-r--r--nuttx/lib/net/Make.defs44
-rw-r--r--nuttx/lib/net/lib_etherntoa.c69
-rw-r--r--nuttx/lib/net/lib_htonl.c68
-rw-r--r--nuttx/lib/net/lib_htons.c65
-rw-r--r--nuttx/lib/net/lib_inetaddr.c74
-rw-r--r--nuttx/lib/net/lib_inetntoa.c79
-rw-r--r--nuttx/lib/net/lib_inetntop.c202
-rw-r--r--nuttx/lib/net/lib_inetpton.c338
-rw-r--r--nuttx/lib/pthread/Make.defs56
-rw-r--r--nuttx/lib/pthread/pthread_attrdestroy.c108
-rw-r--r--nuttx/lib/pthread/pthread_attrgetinheritsched.c111
-rw-r--r--nuttx/lib/pthread/pthread_attrgetschedparam.c110
-rw-r--r--nuttx/lib/pthread/pthread_attrgetschedpolicy.c105
-rw-r--r--nuttx/lib/pthread/pthread_attrgetstacksize.c106
-rw-r--r--nuttx/lib/pthread/pthread_attrinit.c123
-rw-r--r--nuttx/lib/pthread/pthread_attrsetinheritsched.c113
-rw-r--r--nuttx/lib/pthread/pthread_attrsetschedparam.c108
-rw-r--r--nuttx/lib/pthread/pthread_attrsetschedpolicy.c111
-rw-r--r--nuttx/lib/pthread/pthread_attrsetstacksize.c106
-rw-r--r--nuttx/lib/pthread/pthread_barrierattrdestroy.c102
-rw-r--r--nuttx/lib/pthread/pthread_barrierattrgetpshared.c101
-rw-r--r--nuttx/lib/pthread/pthread_barrierattrinit.c101
-rw-r--r--nuttx/lib/pthread/pthread_barrierattrsetpshared.c111
-rw-r--r--nuttx/lib/pthread/pthread_condattrdestroy.c82
-rw-r--r--nuttx/lib/pthread/pthread_condattrinit.c85
-rw-r--r--nuttx/lib/pthread/pthread_mutexattrdestroy.c104
-rw-r--r--nuttx/lib/pthread/pthread_mutexattrgetpshared.c104
-rw-r--r--nuttx/lib/pthread/pthread_mutexattrgettype.c98
-rw-r--r--nuttx/lib/pthread/pthread_mutexattrinit.c106
-rw-r--r--nuttx/lib/pthread/pthread_mutexattrsetpshared.c104
-rw-r--r--nuttx/lib/pthread/pthread_mutexattrsettype.c98
-rw-r--r--nuttx/lib/queue/Make.defs47
-rw-r--r--nuttx/lib/queue/dq_addafter.c74
-rw-r--r--nuttx/lib/queue/dq_addbefore.c69
-rw-r--r--nuttx/lib/queue/dq_addfirst.c74
-rw-r--r--nuttx/lib/queue/dq_addlast.c74
-rw-r--r--nuttx/lib/queue/dq_rem.c84
-rw-r--r--nuttx/lib/queue/dq_remfirst.c82
-rw-r--r--nuttx/lib/queue/dq_remlast.c78
-rw-r--r--nuttx/lib/queue/sq_addafter.c71
-rw-r--r--nuttx/lib/queue/sq_addfirst.c67
-rw-r--r--nuttx/lib/queue/sq_addlast.c72
-rw-r--r--nuttx/lib/queue/sq_rem.c83
-rw-r--r--nuttx/lib/queue/sq_remafter.c79
-rw-r--r--nuttx/lib/queue/sq_remfirst.c76
-rw-r--r--nuttx/lib/queue/sq_remlast.c87
-rw-r--r--nuttx/lib/sched/Make.defs43
-rw-r--r--nuttx/lib/sched/sched_getprioritymax.c100
-rw-r--r--nuttx/lib/sched/sched_getprioritymin.c100
-rw-r--r--nuttx/lib/semaphore/Make.defs43
-rw-r--r--nuttx/lib/semaphore/sem_getvalue.c108
-rw-r--r--nuttx/lib/semaphore/sem_init.c125
-rw-r--r--nuttx/lib/signal/Make.defs47
-rw-r--r--nuttx/lib/signal/sig_addset.c100
-rw-r--r--nuttx/lib/signal/sig_delset.c100
-rw-r--r--nuttx/lib/signal/sig_emptyset.c88
-rw-r--r--nuttx/lib/signal/sig_fillset.c88
-rw-r--r--nuttx/lib/signal/sig_ismember.c101
-rw-r--r--nuttx/lib/stdio/Make.defs85
-rw-r--r--nuttx/lib/stdio/lib_asprintf.c105
-rw-r--r--nuttx/lib/stdio/lib_avsprintf.c146
-rw-r--r--nuttx/lib/stdio/lib_clearerr.c69
-rw-r--r--nuttx/lib/stdio/lib_dtoa.c1641
-rw-r--r--nuttx/lib/stdio/lib_fclose.c154
-rw-r--r--nuttx/lib/stdio/lib_feof.c77
-rw-r--r--nuttx/lib/stdio/lib_ferror.c90
-rw-r--r--nuttx/lib/stdio/lib_fflush.c132
-rw-r--r--nuttx/lib/stdio/lib_fgetc.c101
-rw-r--r--nuttx/lib/stdio/lib_fgetpos.c123
-rw-r--r--nuttx/lib/stdio/lib_fgets.c207
-rw-r--r--nuttx/lib/stdio/lib_fileno.c70
-rw-r--r--nuttx/lib/stdio/lib_fopen.c299
-rw-r--r--nuttx/lib/stdio/lib_fprintf.c93
-rw-r--r--nuttx/lib/stdio/lib_fputc.c113
-rw-r--r--nuttx/lib/stdio/lib_fputs.c220
-rw-r--r--nuttx/lib/stdio/lib_fread.c101
-rw-r--r--nuttx/lib/stdio/lib_fseek.c138
-rw-r--r--nuttx/lib/stdio/lib_fsetpos.c116
-rw-r--r--nuttx/lib/stdio/lib_ftell.c129
-rw-r--r--nuttx/lib/stdio/lib_fwrite.c99
-rw-r--r--nuttx/lib/stdio/lib_gets.c120
-rw-r--r--nuttx/lib/stdio/lib_libdtoa.c304
-rw-r--r--nuttx/lib/stdio/lib_libfflush.c202
-rw-r--r--nuttx/lib/stdio/lib_libflushall.c137
-rw-r--r--nuttx/lib/stdio/lib_libfread.c315
-rw-r--r--nuttx/lib/stdio/lib_libfwrite.c179
-rw-r--r--nuttx/lib/stdio/lib_libnoflush.c103
-rw-r--r--nuttx/lib/stdio/lib_libsprintf.c90
-rw-r--r--nuttx/lib/stdio/lib_libvsprintf.c1620
-rw-r--r--nuttx/lib/stdio/lib_lowinstream.c102
-rw-r--r--nuttx/lib/stdio/lib_lowoutstream.c97
-rw-r--r--nuttx/lib/stdio/lib_lowprintf.c128
-rw-r--r--nuttx/lib/stdio/lib_meminstream.c104
-rw-r--r--nuttx/lib/stdio/lib_memoutstream.c105
-rw-r--r--nuttx/lib/stdio/lib_nullinstream.c79
-rw-r--r--nuttx/lib/stdio/lib_nulloutstream.c84
-rw-r--r--nuttx/lib/stdio/lib_perror.c99
-rw-r--r--nuttx/lib/stdio/lib_printf.c109
-rw-r--r--nuttx/lib/stdio/lib_puts.c130
-rw-r--r--nuttx/lib/stdio/lib_rawinstream.c107
-rw-r--r--nuttx/lib/stdio/lib_rawoutstream.c115
-rw-r--r--nuttx/lib/stdio/lib_rawprintf.c151
-rw-r--r--nuttx/lib/stdio/lib_rdflush.c144
-rw-r--r--nuttx/lib/stdio/lib_snprintf.c99
-rw-r--r--nuttx/lib/stdio/lib_sprintf.c95
-rw-r--r--nuttx/lib/stdio/lib_sscanf.c507
-rw-r--r--nuttx/lib/stdio/lib_stdinstream.c99
-rw-r--r--nuttx/lib/stdio/lib_stdoutstream.c147
-rw-r--r--nuttx/lib/stdio/lib_syslogstream.c122
-rw-r--r--nuttx/lib/stdio/lib_ungetc.c121
-rw-r--r--nuttx/lib/stdio/lib_vfprintf.c102
-rw-r--r--nuttx/lib/stdio/lib_vprintf.c92
-rw-r--r--nuttx/lib/stdio/lib_vsnprintf.c96
-rw-r--r--nuttx/lib/stdio/lib_vsprintf.c92
-rw-r--r--nuttx/lib/stdio/lib_wrflush.c134
-rw-r--r--nuttx/lib/stdio/lib_zeroinstream.c79
-rw-r--r--nuttx/lib/stdlib/Make.defs44
-rw-r--r--nuttx/lib/stdlib/lib_abort.c121
-rw-r--r--nuttx/lib/stdlib/lib_abs.c54
-rw-r--r--nuttx/lib/stdlib/lib_imaxabs.c54
-rw-r--r--nuttx/lib/stdlib/lib_labs.c54
-rw-r--r--nuttx/lib/stdlib/lib_llabs.c57
-rw-r--r--nuttx/lib/stdlib/lib_qsort.c238
-rw-r--r--nuttx/lib/stdlib/lib_rand.c220
-rw-r--r--nuttx/lib/string/Make.defs58
-rw-r--r--nuttx/lib/string/lib_checkbase.c115
-rw-r--r--nuttx/lib/string/lib_isbasedigit.c105
-rw-r--r--nuttx/lib/string/lib_memccpy.c99
-rw-r--r--nuttx/lib/string/lib_memchr.c80
-rw-r--r--nuttx/lib/string/lib_memcmp.c74
-rw-r--r--nuttx/lib/string/lib_memcpy.c64
-rw-r--r--nuttx/lib/string/lib_memmove.c77
-rw-r--r--nuttx/lib/string/lib_memset.c188
-rw-r--r--nuttx/lib/string/lib_skipspace.c69
-rw-r--r--nuttx/lib/string/lib_strcasecmp.c65
-rw-r--r--nuttx/lib/string/lib_strcasestr.c134
-rw-r--r--nuttx/lib/string/lib_strcat.c62
-rw-r--r--nuttx/lib/string/lib_strchr.c78
-rw-r--r--nuttx/lib/string/lib_strcmp.c59
-rw-r--r--nuttx/lib/string/lib_strcpy.c55
-rw-r--r--nuttx/lib/string/lib_strcspn.c67
-rw-r--r--nuttx/lib/string/lib_strdup.c62
-rw-r--r--nuttx/lib/string/lib_strerror.c375
-rw-r--r--nuttx/lib/string/lib_strlen.c55
-rw-r--r--nuttx/lib/string/lib_strncasecmp.c70
-rw-r--r--nuttx/lib/string/lib_strncat.c62
-rw-r--r--nuttx/lib/string/lib_strncmp.c65
-rw-r--r--nuttx/lib/string/lib_strncpy.c57
-rw-r--r--nuttx/lib/string/lib_strndup.c93
-rw-r--r--nuttx/lib/string/lib_strnlen.c62
-rw-r--r--nuttx/lib/string/lib_strpbrk.c85
-rw-r--r--nuttx/lib/string/lib_strrchr.c68
-rw-r--r--nuttx/lib/string/lib_strspn.c66
-rw-r--r--nuttx/lib/string/lib_strstr.c104
-rw-r--r--nuttx/lib/string/lib_strtod.c241
-rw-r--r--nuttx/lib/string/lib_strtok.c87
-rw-r--r--nuttx/lib/string/lib_strtokr.c157
-rw-r--r--nuttx/lib/string/lib_strtol.c103
-rw-r--r--nuttx/lib/string/lib_strtoll.c107
-rw-r--r--nuttx/lib/string/lib_strtoul.c98
-rw-r--r--nuttx/lib/string/lib_strtoull.c100
-rw-r--r--nuttx/lib/string/lib_vikmemcpy.c348
-rw-r--r--nuttx/lib/termios/Make.defs54
-rw-r--r--nuttx/lib/termios/lib_cfgetspeed.c93
-rw-r--r--nuttx/lib/termios/lib_cfsetspeed.c116
-rw-r--r--nuttx/lib/termios/lib_tcflush.c88
-rw-r--r--nuttx/lib/termios/lib_tcgetattr.c93
-rw-r--r--nuttx/lib/termios/lib_tcsetattr.c122
-rw-r--r--nuttx/lib/time/Make.defs44
-rw-r--r--nuttx/lib/time/lib_calendar2utc.c209
-rw-r--r--nuttx/lib/time/lib_daysbeforemonth.c102
-rw-r--r--nuttx/lib/time/lib_gmtime.c93
-rw-r--r--nuttx/lib/time/lib_gmtimer.c355
-rw-r--r--nuttx/lib/time/lib_isleapyear.c88
-rw-r--r--nuttx/lib/time/lib_mktime.c141
-rw-r--r--nuttx/lib/time/lib_strftime.c398
-rw-r--r--nuttx/lib/time/lib_time.c110
-rw-r--r--nuttx/lib/unistd/Make.defs49
-rw-r--r--nuttx/lib/unistd/lib_chdir.c179
-rw-r--r--nuttx/lib/unistd/lib_getcwd.c132
-rw-r--r--nuttx/lib/unistd/lib_getopt.c269
-rw-r--r--nuttx/lib/unistd/lib_getoptargp.c73
-rw-r--r--nuttx/lib/unistd/lib_getoptindp.c73
-rw-r--r--nuttx/lib/unistd/lib_getoptoptp.c73
286 files changed, 0 insertions, 32008 deletions
diff --git a/nuttx/lib/Kconfig b/nuttx/lib/Kconfig
deleted file mode 100644
index 1c93bb047..000000000
--- a/nuttx/lib/Kconfig
+++ /dev/null
@@ -1,275 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see misc/tools/kconfig-language.txt.
-#
-
-config STDIO_BUFFER_SIZE
- int "C STDIO buffer size"
- default 64
- ---help---
- Size of buffers using within the C buffered I/O interfaces.
- (printf, putchar, fwrite, etc.).
-
-config STDIO_LINEBUFFER
- bool "STDIO line buffering"
- default y
- ---help---
- Flush buffer I/O whenever a newline character is found in
- the output data stream.
-
-config NUNGET_CHARS
- int "Number unget() characters"
- default 2
- ---help---
- Number of characters that can be buffered by ungetc() (Only if NFILE_STREAMS > 0)
-
-config LIB_HOMEDIR
- string "Home directory"
- default "/"
- depends on !DISABLE_ENVIRON
- ---help---
- The home directory to use with operations like such as 'cd ~'
-
-source lib/math/Kconfig
-
-config NOPRINTF_FIELDWIDTH
- bool "Disable sprintf support fieldwidth"
- default n
- ---help---
- sprintf-related logic is a
- little smaller if we do not support fieldwidthes
-
-config LIBC_FLOATINGPOINT
- bool "Enable floating point in printf"
- default n
- ---help---
- By default, floating point
- support in printf, sscanf, etc. is disabled.
-
-choice
- prompt "Newline Options"
- default EOL_IS_EITHER_CRLF
- ---help---
- This selection determines the line terminating character that is used.
- Some environments may return CR as end-of-line, others LF, and others
- both. If not specified, the default is either CR or LF (but not both)
- as the line terminating charactor.
-
-config EOL_IS_CR
- bool "EOL is CR"
-
-config EOL_IS_LF
- bool "EOL is LF"
-
-config EOL_IS_BOTH_CRLF
- bool "EOL is CR and LF"
-
-config EOL_IS_EITHER_CRLF
- bool "EOL is CR or LF"
-
-endchoice
-
-config LIBC_STRERROR
- bool "Enable strerror"
- default n
- ---help---
- strerror() is useful because it decodes 'errno' values into a human readable
- strings. But it can also require a lot of memory. If this option is selected,
- strerror() will still exist in the build but it will not decode error values.
- This option should be used by other logic to decide if it should use strerror()
- or not. For example, the NSH application will not use strerror() if this
- option is not selected; perror() will not use strerror() is this option is not
- selected (see also NSH_STRERROR).
-
-config LIBC_STRERROR_SHORT
- bool "Use short error descriptions in strerror()"
- default n
- depends on LIBC_STRERROR
- ---help---
- If this option is selected, then strerror() will use a shortened string when
- it decodes the error. Specifically, strerror() is simply use the string that
- is the common name for the error. For example, the 'errno' value of 2 will
- produce the string "No such file or directory" is LIBC_STRERROR_SHORT
- is not defined but the string "ENOENT" is LIBC_STRERROR_SHORT is defined.
-
-config LIBC_PERROR_STDOUT
- bool "perror() to stdout"
- default n
- ---help---
- POSIX requires that perror() provide its output on stderr. This option may
- be defined, however, to provide perror() output that is serialized with
- other stdout messages.
-
-config ARCH_LOWPUTC
- bool "Low-level console output"
- default "y"
- ---help---
- architecture supports low-level, boot time console output
-
-config LIB_SENDFILE_BUFSIZE
- int "sendfile() buffer size"
- default 512
- ---help---
- Size of the I/O buffer to allocate in sendfile(). Default: 512b
-
-config ARCH_ROMGETC
- bool "Support for ROM string access"
- default n
- ---help---
- In Harvard architectures, data accesses and instruction accesses
- occur on different busses, perhaps concurrently. All data accesses
- are performed on the data bus unless special machine instructions
- are used to read data from the instruction address space. Also, in
- the typical MCU, the available SRAM data memory is much smaller that
- the non-volatile FLASH instruction memory. So if the application
- requires many constant strings, the only practical solution may be
- to store those constant strings in FLASH memory where they can only
- be accessed using architecture-specific machine instructions.
-
- If ARCH_ROMGETC is defined, then the architecture logic must export
- the function up_romgetc(). up_romgetc() will simply read one byte
- of data from the instruction space.
-
- If ARCH_ROMGETC, certain C stdio functions are effected: (1) All
- format strings in printf, fprintf, sprintf, etc. are assumed to lie
- in FLASH (string arguments for %s are still assumed to reside in SRAM).
- And (2), the string argument to puts and fputs is assumed to reside
- in FLASH. Clearly, these assumptions may have to modified for the
- particular needs of your environment. There is no "one-size-fits-all"
- solution for this problem.
-
-config ARCH_OPTIMIZED_FUNCTIONS
- bool "Enable arch optimized functions"
- default n
- ---help---
- Allow for architecture optimized implementations of certain library
- functions. Architecture-specific implementations can improve overall
- system performance.
-
-if ARCH_OPTIMIZED_FUNCTIONS
-config ARCH_MEMCPY
- bool "memcpy()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of memcpy().
-
-config MEMCPY_VIK
- bool "Vik memcpy()"
- default n
- depends on !ARCH_MEMCPY
- ---help---
- Select this option to use the optimized memcpy() function by Daniel Vik.
- Select this option for improved performance at the expense of increased
- size. See licensing information in the top-level COPYING file.
-
-if MEMCPY_VIK
-config MEMCPY_PRE_INC_PTRS
- bool "Pre-increment pointers"
- default n
- ---help---
- Use pre-increment of pointers. Default is post increment of pointers.
-
-config MEMCPY_INDEXED_COPY
- bool "Array indexing"
- default y
- ---help---
- Copying data using array indexing. Using this option, disables the
- MEMCPY_PRE_INC_PTRS option.
-
-config MEMCPY_64BIT
- bool "64-bit memcpy()"
- default n
- ---help---
- Compiles memcpy() for architectures that suppport 64-bit operations
- efficiently.
-
-endif
-
-config ARCH_MEMCMP
- bool "memcmp()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of memcmp().
-
-config ARCH_MEMMOVE
- bool "memmove()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of memmove().
-
-config ARCH_MEMSET
- bool "memset()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of memset().
-
-config MEMSET_OPTSPEED
- bool "Optimize memset() for speed"
- default n
- depends on !ARCH_MEMSET
- ---help---
- Select this option to use a version of memcpy() optimized for speed.
- Default: memcpy() is optimized for size.
-
-config MEMSET_64BIT
- bool "64-bit memset()"
- default n
- depends on MEMSET_OPTSPEED
- ---help---
- Compiles memset() for architectures that suppport 64-bit operations
- efficiently.
-
-config ARCH_STRCHR
- bool "strchr()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of strchr().
-
-config ARCH_STRCMP
- bool "strcmp()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of strcmp().
-
-config ARCH_STRCPY
- bool "strcpy()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of strcpy().
-
-config ARCH_STRNCPY
- bool "strncpy()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of strncpy().
-
-config ARCH_STRLEN
- bool "strlen"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of strlen().
-
-config ARCH_STRNLEN
- bool "strlen()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of strnlen().
-
-config ARCH_BZERO
- bool "bzero()"
- default n
- ---help---
- Select this option if the architecture provides an optimized version
- of bzero().
-
-endif
diff --git a/nuttx/lib/Makefile b/nuttx/lib/Makefile
deleted file mode 100644
index 406c2276e..000000000
--- a/nuttx/lib/Makefile
+++ /dev/null
@@ -1,136 +0,0 @@
-############################################################################
-# lib/Makefile
-#
-# Copyright (C) 2007-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-###########################################################################
-
--include $(TOPDIR)/Make.defs
-
-ASRCS =
-CSRCS =
-
-DEPPATH := --dep-path .
-VPATH := .
-
-include stdio/Make.defs
-include stdlib/Make.defs
-include unistd/Make.defs
-include sched/Make.defs
-include string/Make.defs
-include pthread/Make.defs
-include semaphore/Make.defs
-include signal/Make.defs
-include mqueue/Make.defs
-include math/Make.defs
-include fixedmath/Make.defs
-include net/Make.defs
-include time/Make.defs
-include libgen/Make.defs
-include dirent/Make.defs
-include termios/Make.defs
-include queue/Make.defs
-include misc/Make.defs
-
-AOBJS = $(ASRCS:.S=$(OBJEXT))
-COBJS = $(CSRCS:.c=$(OBJEXT))
-
-SRCS = $(ASRCS) $(CSRCS)
-OBJS = $(AOBJS) $(COBJS)
-
-UBIN = libulib$(LIBEXT)
-KBIN = libklib$(LIBEXT)
-BIN = liblib$(LIBEXT)
-
-all: $(BIN)
-
-$(AOBJS): %$(OBJEXT): %.S
- $(call ASSEMBLE, $<, $@)
-
-$(COBJS): %$(OBJEXT): %.c
- $(call COMPILE, $<, $@)
-
-$(BIN): $(OBJS)
- @( for obj in $(OBJS) ; do \
- $(call ARCHIVE, $@, $${obj}); \
- done ; )
-
-ifneq ($(BIN),$(UBIN))
-.userlib:
- @$(MAKE) $(UBIN) BIN=$(UBIN) TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
- @touch .userlib
-
-$(UBIN): kclean .userlib
-endif
-
-ifneq ($(BIN),$(KBIN))
-.kernlib:
- @$(MAKE) $(KBIN) BIN=$(KBIN) TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES)
- @touch .kernlib
-
-$(KBIN): uclean .kernlib
-endif
-
-.depend: Makefile $(SRCS)
- @$(MKDEP) $(DEPPATH) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
- @touch $@
-
-depend: .depend
-
-# Clean Targets:
-# Clean user-mode temporary files (retaining the UBIN binary)
-
-uclean:
-ifneq ($(OBJEXT),)
- @( if [ -f .userlib ]; then rm -f *$(OBJEXT); fi )
-endif
- @rm -f .userlib *~ .*.swp
-
-# Clean kernel-mode temporary files (retaining the KBIN binary)
-
-kclean:
-ifneq ($(OBJEXT),)
- @( if [ -f .kernlib ]; then rm -f *$(OBJEXT); fi )
-endif
- @rm -f .kernlib *~ .*.swp
-
-# Really clean everything
-
-clean: uclean kclean
- @rm -f $(BIN) $(UBIN) $(KBIN) *~ .*.swp
- $(call CLEAN)
-
-# Deep clean -- removes all traces of the configuration
-
-distclean: clean
- @rm -f Make.dep .depend
-
--include Make.dep
diff --git a/nuttx/lib/README.txt b/nuttx/lib/README.txt
deleted file mode 100644
index e99304841..000000000
--- a/nuttx/lib/README.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-lib
-===
-
-This directory contains numerous, small functions typically associated with
-what you would expect to find in a standard C library. The sub-directories
-in this directory contain standard interface that can be executed by user-
-mode programs.
-
-Normally, NuttX is built with no protection and all threads running in kerne-
-mode. In that model, there is no real architectural distinction between
-what is a kernel-mode program and what is a user-mode program; the system is
-more like on multi-threaded program that all runs in kernel-mode.
-
-But if the CONFIG_NUTTX_KERNEL option is selected, NuttX will be built into
-distinct user-mode and kernel-mode sections. In that case, most of the
-code in the nuttx/ directory will run in kernel-mode with with exceptions
-of (1) the user-mode "proxies" found in syscall/proxies, and (2) the
-standard C library functions found in this directory. In this build model,
-it is critical to separate the user-mode OS interfaces in this way.
-
-Sub-Directories
-===============
-
-The files in the lib/ directory are organized (mostly) according which file
-in the include/ directory provides the prototype for library functions. So
-we have:
-
- libgen - libgen.h
- fixedmath - fixedmath.h
- math - math.h
- mqueue - pthread.h
- net - Various network-related header files: netinet/ether.h, arpa/inet.h
- pthread - pthread.h
- queue - queue.h
- sched - sched.h
- semaphore - semaphore.h
- stdio - stdio.h
- stdlib - stdlib.h
- string - string.h
- time - time.h
- unistd - unistd.h
-
-There is also a misc/ subdirectory that contains various internal functions
-and interfaces from header files that are too few to warrant their own sub-
-directory:
-
- misc - Nonstandard "glue" logic, debug.h, crc32.h, dirent.h
-
-Library Database
-================
-
-Information about functions available in the NuttX C library information is
-maintained in a database. That "database" is implemented as a simple comma-
-separated-value file, lib.csv. Most spreadsheets programs will accept this
-format and can be used to maintain the library database.
-
-This library database will (eventually) be used to generate symbol library
-symbol table information that can be exported to external applications.
-
-The format of the CSV file for each line is:
-
- Field 1: Function name
- Field 2: The header file that contains the function prototype
- Field 3: Condition for compilation
- Field 4: The type of function return value.
- Field 5 - N+5: The type of each of the N formal parameters of the function
-
-Each type field has a format as follows:
-
- type name:
- For all simpler types
- formal type | actual type:
- For array types where the form of the formal (eg. int parm[2])
- differs from the type of actual passed parameter (eg. int*). This
- is necessary because you cannot do simple casts to array types.
- formal type | union member actual type | union member fieldname:
- A similar situation exists for unions. For example, the formal
- parameter type union sigval -- You cannot cast a uintptr_t to
- a union sigval, but you can cast to the type of one of the union
- member types when passing the actual paramter. Similarly, we
- cannot cast a union sigval to a uinptr_t either. Rather, we need
- to cast a specific union member fieldname to uintptr_t.
-
-NOTE: The tool mksymtab can be used to generate a symbol table from this CSV
-file. See nuttx/tools/README.txt for further details about the use of mksymtab.
diff --git a/nuttx/lib/dirent/Make.defs b/nuttx/lib/dirent/Make.defs
deleted file mode 100644
index cc1d6b783..000000000
--- a/nuttx/lib/dirent/Make.defs
+++ /dev/null
@@ -1,48 +0,0 @@
-############################################################################
-# lib/dirent/Make.defs
-#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
-
-# Add the dirent C files to the build
-
-CSRCS += lib_readdirr.c lib_telldir.c
-
-# Add the dirent directory to the build
-
-DEPPATH += --dep-path dirent
-VPATH += :dirent
-
-endif
-
diff --git a/nuttx/lib/dirent/lib_readdirr.c b/nuttx/lib/dirent/lib_readdirr.c
deleted file mode 100644
index 47c5b9a7b..000000000
--- a/nuttx/lib/dirent/lib_readdirr.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/****************************************************************************
- * lib/dirent/lib_readdirr.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-#include <dirent.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: readdir_r
- *
- * Description:
- * The readdir() function returns a pointer to a dirent
- * structure representing the next directory entry in the
- * directory stream pointed to by dir. It returns NULL on
- * reaching the end-of-file or if an error occurred.
- *
- * Inputs:
- * dirp -- An instance of type DIR created by a previous
- * call to opendir();
- * entry -- The storage pointed to by entry must be large
- * enough for a dirent with an array of char d_name
- * members containing at least {NAME_MAX}+1 elements.
- * result -- Upon successful return, the pointer returned
- * at *result shall have the same value as the
- * argument entry. Upon reaching the end of the directory
- * stream, this pointer shall have the value NULL.
- *
- * Return:
- * If successful, the readdir_r() function return s zero;
- * otherwise, an error number is returned to indicate the
- * error.
- *
- * EBADF - Invalid directory stream descriptor dir
- *
- ****************************************************************************/
-
-int readdir_r(FAR DIR *dirp, FAR struct dirent *entry,
- FAR struct dirent **result)
-{
- struct dirent *tmp;
-
- /* NOTE: The following use or errno is *not* thread-safe */
-
- set_errno(0);
- tmp = readdir(dirp);
- if (!tmp)
- {
- int error = get_errno();
- if (!error)
- {
- if (result)
- {
- *result = NULL;
- }
- return 0;
- }
- else
- {
- return error;
- }
- }
-
- if (entry)
- {
- memcpy(entry, tmp, sizeof(struct dirent));
- }
-
- if (result)
- {
- *result = entry;
- }
- return 0;
-}
-
diff --git a/nuttx/lib/dirent/lib_telldir.c b/nuttx/lib/dirent/lib_telldir.c
deleted file mode 100644
index 3753b326e..000000000
--- a/nuttx/lib/dirent/lib_telldir.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
- * lib/dirent/fs_telldir.c
- *
- * Copyright (C) 2007-2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <dirent.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-#include <nuttx/fs/dirent.h>
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: telldir
- *
- * Description:
- * The telldir() function returns the current location
- * associated with the directory stream dirp.
- *
- * Inputs:
- * dirp -- An instance of type DIR created by a previous
- * call to opendir();
- *
- * Return:
- * On success, the telldir() function returns the current
- * location in the directory stream. On error, -1 is
- * returned, and errno is set appropriately.
- *
- * EBADF - Invalid directory stream descriptor dir
- *
- ****************************************************************************/
-
-off_t telldir(FAR DIR *dirp)
-{
- struct fs_dirent_s *idir = (struct fs_dirent_s *)dirp;
-
- if (!idir || !idir->fd_root)
- {
- set_errno(EBADF);
- return (off_t)-1;
- }
-
- /* Just return the current position */
-
- return idir->fd_position;
-}
-
diff --git a/nuttx/lib/fixedmath/Make.defs b/nuttx/lib/fixedmath/Make.defs
deleted file mode 100644
index 578e33015..000000000
--- a/nuttx/lib/fixedmath/Make.defs
+++ /dev/null
@@ -1,43 +0,0 @@
-############################################################################
-# lib/fixedmath/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the fixed precision math C files to the build
-
-CSRCS += lib_rint.c lib_fixedmath.c lib_b16sin.c lib_b16cos.c lib_b16atan2.c
-
-# Add the fixed precision math directory to the build
-
-DEPPATH += --dep-path fixedmath
-VPATH += :fixedmath
diff --git a/nuttx/lib/fixedmath/lib_b16atan2.c b/nuttx/lib/fixedmath/lib_b16atan2.c
deleted file mode 100644
index 69d132f80..000000000
--- a/nuttx/lib/fixedmath/lib_b16atan2.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * lib/fixedmath/lib_b16atan2.c
- *
- * Copyright (C) 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <fixedmath.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#define B16_C1 0x00000373 /* 0.013480470 */
-#define B16_C2 0x00000eb7 /* 0.057477314 */
-#define B16_C3 0x00001f0a /* 0.121239071 */
-#define B16_C4 0x00003215 /* 0.195635925 */
-#define B16_C5 0x0000553f /* 0.332994597 */
-#define B16_C6 0x00010000 /* 0.999995630 */
-#define B16_HALFPI 0x00019220 /* 1.570796327 */
-#define B16_PI 0x00032440 /* 3.141592654 */
-
-#ifndef MAX
-# define MAX(a,b) (a > b ? a : b)
-#endif
-
-#ifndef MIN
-# define MIN(a,b) (a < b ? a : b)
-#endif
-
-#ifndef ABS
-# define ABS(a) (a < 0 ? -a : a)
-#endif
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: b16atan2
- *
- * Description:
- * atan2 calculates the arctangent of y/x. (Based on a algorithm I saw
- * posted on the internet... now I have lost the link -- sorry).
- *
- ****************************************************************************/
-
-b16_t b16atan2(b16_t y, b16_t x)
-{
- b16_t t0;
- b16_t t1;
- b16_t t2;
- b16_t t3;
-
- t2 = ABS(x);
- t1 = ABS(y);
- t0 = MAX(t2, t1);
- t1 = MIN(t2, t1);
- t2 = ub16inv(t0);
- t2 = b16mulb16(t1, t2);
-
- t3 = b16mulb16(t2, t2);
- t0 = - B16_C1;
- t0 = b16mulb16(t0, t3) + B16_C2;
- t0 = b16mulb16(t0, t3) - B16_C3;
- t0 = b16mulb16(t0, t3) + B16_C4;
- t0 = b16mulb16(t0, t3) - B16_C5;
- t0 = b16mulb16(t0, t3) + B16_C6;
- t2 = b16mulb16(t0, t2);
-
- t2 = (ABS(y) > ABS(x)) ? B16_HALFPI - t2 : t2;
- t2 = (x < 0) ? B16_PI - t2 : t2;
- t2 = (y < 0) ? -t2 : t2;
-
- return t2;
-}
diff --git a/nuttx/lib/fixedmath/lib_b16cos.c b/nuttx/lib/fixedmath/lib_b16cos.c
deleted file mode 100644
index 3e9229029..000000000
--- a/nuttx/lib/fixedmath/lib_b16cos.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
- * lib/fixedmath/lib_b16cos.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <fixedmath.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: b16cos
- ****************************************************************************/
-
-b16_t b16cos(b16_t rad)
-{
- /* Compute cosine: sin(rad + PI/2) = cos(rad) */
-
- rad += b16HALFPI;
- if (rad > b16PI)
- {
- rad -= b16TWOPI;
- }
- return b16sin(rad);
-}
diff --git a/nuttx/lib/fixedmath/lib_b16sin.c b/nuttx/lib/fixedmath/lib_b16sin.c
deleted file mode 100644
index 491b0ec78..000000000
--- a/nuttx/lib/fixedmath/lib_b16sin.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
- * lib/fixedmath/lib_b16sin.c
- *
- * Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <fixedmath.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#define b16_P225 0x0000399a
-#define b16_P405284735 0x000067c1
-#define b16_1P27323954 0x000145f3
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: b16sin
- * Ref: http://lab.polygonal.de/2007/07/18/fast-and-accurate-sinecosine-approximation/
- ****************************************************************************/
-
-b16_t b16sin(b16_t rad)
-{
- b16_t tmp1;
- b16_t tmp2;
- b16_t tmp3;
-
- /* Force angle into the good range */
-
- if (rad < -b16PI)
- {
- rad += b16TWOPI;
- }
- else if (rad > b16PI)
- {
- rad -= b16TWOPI;
- }
-
- /* tmp1 = 1.27323954 * rad
- * tmp2 = .405284735 * rad * rad
- */
-
-
- tmp1 = b16mulb16(b16_1P27323954, rad);
- tmp2 = b16mulb16(b16_P405284735, b16sqr(rad));
-
- if (rad < 0)
- {
- /* tmp3 = 1.27323954 * rad + .405284735 * rad * rad */
-
- tmp3 = tmp1 + tmp2;
- }
- else
- {
- /* tmp3 = 1.27323954 * rad - 0.405284735 * rad * rad */
-
- tmp3 = tmp1 - tmp2;
- }
-
- /* tmp1 = tmp3*tmp3 */
-
- tmp1 = b16sqr(tmp3);
- if (tmp3 < 0)
- {
- /* tmp1 = tmp3 * -tmp3 */
-
- tmp1 = -tmp1;
- }
-
- /* Return sin = .225 * (tmp3 * (+/-tmp3) - tmp3) + tmp3 */
-
- return b16mulb16(b16_P225, (tmp1 - tmp3)) + tmp3;
-}
diff --git a/nuttx/lib/fixedmath/lib_fixedmath.c b/nuttx/lib/fixedmath/lib_fixedmath.c
deleted file mode 100644
index c1a710e73..000000000
--- a/nuttx/lib/fixedmath/lib_fixedmath.c
+++ /dev/null
@@ -1,272 +0,0 @@
-/****************************************************************************
- * lib/math/lib_fixedmath.c
- *
- * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <fixedmath.h>
-
-#ifndef CONFIG_HAVE_LONG_LONG
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fixsign
- ****************************************************************************/
-
-static void fixsign(b16_t *parg1, b16_t *parg2, bool *pnegate)
-{
- bool negate = false;
- b16_t arg;
-
- arg = *parg1;
- if (arg < 0)
- {
- *parg1 = -arg;
- negate = true;
- }
-
- arg = *parg2;
- if (arg < 0)
- {
- *parg2 = -arg;
- negate ^= true;
- }
-
- *pnegate = negate;
-}
-
-/****************************************************************************
- * Name: adjustsign
- ****************************************************************************/
-
-static b16_t adjustsign(b16_t result, bool negate)
-{
- /* If the product is negative, then we overflowed */
-
- if (result < 0)
- {
- if (result)
- {
- return b16MIN;
- }
- else
- {
- return b16MAX;
- }
- }
-
- /* correct the sign of the result */
-
- if (negate)
- {
- return -result;
- }
- return result;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: b16mulb16
- ****************************************************************************/
-
-b16_t b16mulb16(b16_t m1, b16_t m2)
-{
- bool negate;
- b16_t product;
-
- fixsign(&m1, &m2, &negate);
- product = (b16_t)ub16mulub16((ub16_t)m1, (ub16_t)m2);
- return adjustsign(product, negate);
-}
-
-/****************************************************************************
- * Name: ub16mulub16
- **************************************************************************/
-
-ub16_t ub16mulub16(ub16_t m1, ub16_t m2)
-{
- /* Let:
- *
- * m1 = m1i*2**16 + m1f (b16)
- * m2 = m2i*2**16 + m2f (b16)
- *
- * Then:
- *
- * m1*m2 = (m1i*m2i)*2**32 + (m1i*m2f + m2i*m1f)*2**16 + m1f*m2f (b32)
- * = (m1i*m2i)*2**16 + (m1i*m2f + m2i*m1f) + m1f*m2f*2**-16 (b16)
- * = a*2**16 + b + c*2**-16
- */
-
- uint32_t m1i = ((uint32_t)m1 >> 16);
- uint32_t m2i = ((uint32_t)m1 >> 16);
- uint32_t m1f = ((uint32_t)m1 & 0x0000ffff);
- uint32_t m2f = ((uint32_t)m2 & 0x0000ffff);
-
- return (m1i*m2i << 16) + m1i*m2f + m2i*m1f + (((m1f*m2f) + b16HALF) >> 16);
-}
-
-/****************************************************************************
- * Name: b16sqr
- **************************************************************************/
-
-b16_t b16sqr(b16_t a)
-{
- b16_t sq;
-
- /* The result is always positive. Just take the absolute value */
-
- if (a < 0)
- {
- a = -a;
- }
-
- /* Overflow occurred if the result is negative */
-
- sq = (b16_t)ub16sqr(a);
- if (sq < 0)
- {
- sq = b16MAX;
- }
- return sq;
-}
-
-/****************************************************************************
- * Name: b16divb16
- **************************************************************************/
-
-ub16_t ub16sqr(ub16_t a)
-{
- /* Let:
- *
- * m = mi*2**16 + mf (b16)
- *
- * Then:
- *
- * m*m = (mi*mi)*2**32 + 2*(m1*m2)*2**16 + mf*mf (b32)
- * = (mi*mi)*2**16 + 2*(mi*mf) + mf*mf*2**-16 (b16)
- */
-
- uint32_t mi = ((uint32_t)a >> 16);
- uint32_t mf = ((uint32_t)a & 0x0000ffff);
-
- return (mi*mi << 16) + (mi*mf << 1) + ((mf*mf + b16HALF) >> 16);
-}
-
-/****************************************************************************
- * Name: b16divb16
- **************************************************************************/
-
-b16_t b16divb16(b16_t num, b16_t denom)
-{
- bool negate;
- b16_t quotient;
-
- fixsign(&num, &denom, &negate);
- quotient = (b16_t)ub16divub16((ub16_t)num, (ub16_t)denom);
- return adjustsign(quotient, negate);
-}
-
-/****************************************************************************
- * Name: ub16divub16
- **************************************************************************/
-
-ub16_t ub16divub16(ub16_t num, ub16_t denom)
-{
- uint32_t term1;
- uint32_t numf;
- uint32_t product;
-
- /* Let:
- *
- * num = numi*2**16 + numf (b16)
- * den = deni*2**16 + denf (b16)
- *
- * Then:
- *
- * num/den = numi*2**16 / den + numf / den (b0)
- * = numi*2**32 / den + numf*2**16 /den (b16)
- */
-
- /* Check for overflow in the first part of the quotient */
-
- term1 = ((uint32_t)num & 0xffff0000) / denom;
- if (term1 >= 0x00010000)
- {
- return ub16MAX; /* Will overflow */
- }
-
- /* Finish the division */
-
- numf = num - term1 * denom;
- term1 <<= 16;
- product = term1 + (numf + (denom >> 1)) / denom;
-
- /* Check for overflow */
-
- if (product < term1)
- {
- return ub16MAX; /* Overflowed */
- }
- return product;
-}
-
-#endif
diff --git a/nuttx/lib/fixedmath/lib_rint.c b/nuttx/lib/fixedmath/lib_rint.c
deleted file mode 100644
index 3a6407b8c..000000000
--- a/nuttx/lib/fixedmath/lib_rint.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/************************************************************
- * lib/fixedmath/lib_rint.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <stdlib.h>
-
-/************************************************************
- * Definitions
- ************************************************************/
-
-/************************************************************
- * Private Type Declarations
- ************************************************************/
-
-/************************************************************
- * Private Function Prototypes
- ************************************************************/
-
-/**********************************************************
- * Global Constant Data
- **********************************************************/
-
-/************************************************************
- * Global Variables
- ************************************************************/
-
-/**********************************************************
- * Private Constant Data
- **********************************************************/
-
-/************************************************************
- * Private Variables
- ************************************************************/
-
-double_t rint(double_t x)
-{
- double_t ret;
-
- /* If the current rounding mode rounds toward negative
- * infinity, rint() is identical to floor(). If the current
- * rounding mode rounds toward positive infinity, rint() is
- * identical to ceil().
- */
-
-#if defined(CONFIG_FP_ROUND_POSITIVE) && CONFIG_FP_ROUNDING_POSITIVE != 0
-
- ret = ceil(x);
-
-#elif defined(CONFIG_FP_ROUND_NEGATIVE) && CONFIG_FP_ROUNDING_NEGATIVE != 0
-
- ret = floor(x);
-
-#else
-
- /* In the default rounding mode (round to nearest), rint(x) is the
- * integer nearest x with the additional stipulation that if
- * |rint(x)-x|=1/2, then rint(x) is even.
- */
-
- long dwinteger = (long)x;
- double_t fremainder = x - (double_t)dwinteger;
-
- if (x < 0.0)
- {
- /* fremainder should be in range 0 .. -1 */
-
- if (fremainder == -0.5)
- {
- dwinteger = ((dwinteger+1)&~1);
- }
- else if (fremainder < -0.5)
- {
- dwinteger--;
- }
- }
- else
- {
- /* fremainder should be in range 0 .. 1 */
-
- if (fremainder == 0.5)
- {
- dwinteger = ((dwinteger+1)&~1);
- }
- else if (fremainder > 0.5)
- {
- dwinteger++;
- }
- }
-
- ret = (double_t)dwinteger;
-#endif
-
- return ret;
-}
diff --git a/nuttx/lib/lib.csv b/nuttx/lib/lib.csv
deleted file mode 100644
index 171f64e9b..000000000
--- a/nuttx/lib/lib.csv
+++ /dev/null
@@ -1,171 +0,0 @@
-"_inet_ntoa","arpa/inet.h","!defined(CONFIG_NET_IPv6) && !defined(CONFIG_CAN_PASS_STRUCTS)","FAR char","in_addr_t"
-"abort","stdlib.h","","void"
-"abs","stdlib.h","","int","int"
-"asprintf","stdio.h","","int","FAR char **","const char *","..."
-"avsprintf","stdio.h","","int","FAR char **","const char *","va_list"
-"b16atan2","fixedmath.h","","b16_t","b16_t","b16_t"
-"b16cos","fixedmath.h","","b16_t","b16_t"
-"b16divb16","fixedmath.h","","b16_t","b16_t","b16_t"
-"b16mulb16","fixedmath.h","","b16_t","b16_t","b16_t"
-"b16sin","fixedmath.h","","b16_t","b16_t"
-"b16sqr","fixedmath.h","","b16_t","b16_t"
-"basename","libgen.h","","FAR char","FAR char *"
-"cfgetspeed","termios.h","CONFIG_NFILE_DESCRIPTORS > 0 && defined(CONFIG_SERIAL_TERMIOS)","speed_t","FAR const struct termios *"
-"cfsetspeed","termios.h","CONFIG_NFILE_DESCRIPTORS > 0 && defined(CONFIG_SERIAL_TERMIOS)","int","FAR struct termios *","speed_t"
-"chdir","unistd.h","CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_ENVIRON)","int","FAR const char *"
-"crc32","crc32.h","","uint32_t","FAR const uint8_t *","size_t"
-"crc32part","crc32.h","","uint32_t","FAR const uint8_t *","size_t","uint32_t"
-"dbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG)","int","const char *","..."
-"dbg_enable","debug.h","defined(CONFIG_DEBUG_ENABLE)","void","bool"
-"dirname","libgen.h","","FAR char","FAR char *"
-"dq_addafter","queue.h","","void","FAR dq_entry_t *","FAR dq_entry_t *","FAR dq_queue_t *"
-"dq_addbefore","queue.h","","void","FAR dq_entry_t *","FAR dq_entry_t *","FAR dq_queue_t *"
-"dq_addfirst","queue.h","","void","FAR dq_entry_t *","dq_queue_t *"
-"dq_addlast","queue.h","","void","FAR dq_entry_t *","dq_queue_t *"
-"dq_rem","queue.h","","void","FAR dq_entry_t *","dq_queue_t *"
-"dq_remfirst","queue.h","","FAR dq_entry_t","dq_queue_t *"
-"dq_remlast","queue.h","","FAR dq_entry_t","dq_queue_t *"
-"ether_ntoa","netinet/ether.h","","FAR char","FAR const struct ether_addr *"
-"fclose","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR FILE *"
-"fdopen","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","FAR FILE","int","FAR const char *"
-"fflush","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR FILE *"
-"fgetc","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR FILE *"
-"fgetpos","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR FILE *","FAR fpos_t *"
-"fgets","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","FAR char","FAR char *","int","FAR FILE *"
-"fileno","stdio.h","","int","FAR FILE *"
-"fopen","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","FAR FILE","FAR const char *","FAR const char *"
-"fprintf","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR FILE *","FAR const char *","..."
-"fputc","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","int c","FAR FILE *"
-"fputs","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR const char *","FAR FILE *"
-"fread","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","size_t","FAR void *","size_t","size_t","FAR FILE *"
-"fseek","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR FILE *","long int","int"
-"fsetpos","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR FILE *","FAR fpos_t *"
-"ftell","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","long","FAR FILE *"
-"fwrite","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","size_t","FAR const void *","size_t","size_t","FAR FILE *"
-"getcwd","unistd.h","CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_ENVIRON)","FAR char","FAR char *","size_t"
-"getopt","unistd.h","","int","int","FAR char *const[]","FAR const char *"
-"getoptargp","unistd.h","","FAR char *"
-"getoptindp","unistd.h","","int"
-"getoptoptp","unistd.h","","int"
-"gets","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","FAR char","FAR char *"
-"gmtime","time.h","","struct tm","const time_t *"
-"gmtime_r","time.h","","FAR struct tm","FAR const time_t *","FAR struct tm *"
-"htonl","arpa/inet.h","","uint32_t","uint32_t"
-"htons","arpa/inet.h","","uint16_t","uint16_t"
-"imaxabs","stdlib.h","","intmax_t","intmax_t"
-"inet_addr","arpa/inet.h","","in_addr_t","FAR const char "
-"inet_ntoa","arpa/inet.h","!defined(CONFIG_NET_IPv6) && defined(CONFIG_CAN_PASS_STRUCTS)","FAR char","struct in_addr"
-"inet_ntop","arpa/inet.h","","FAR const char","int","FAR const void *","FAR char *","socklen_t"
-"inet_pton","arpa/inet.h","","int","int","FAR const char *","FAR void *"
-"labs","stdlib.h","","long int","long int"
-"lib_dumpbuffer","debug.h","","void","FAR const char *","FAR const uint8_t *","unsigned int"
-"lib_lowprintf","debug.h","","int","FAR const char *","..."
-"lib_rawprintf","debug.h","","int","FAR const char *","..."
-"llabs","stdlib.h","defined(CONFIG_HAVE_LONG_LONG)","long long int","long long int"
-"lldbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..."
-"llvdbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_VERBOSE) && defined(CONFIG_ARCH_LOWPUTC)","int","const char *","..."
-"match","","","int","const char *","const char *"
-"memccpy","string.h","","FAR void","FAR void *","FAR const void *","int c","size_t"
-"memchr","string.h","","FAR void","FAR const void *","int c","size_t"
-"memcmp","string.h","","int","FAR const void *","FAR const void *","size_t"
-"memcpy","string.h","","FAR void","FAR void *","FAR const void *","size_t"
-"memmove","string.h","","FAR void","FAR void *","FAR const void *","size_t"
-"memset","string.h","","FAR void","FAR void *","int c","size_t"
-"mktime","time.h","","time_t","const struct tm *"
-"mq_getattr","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","int","mqd_t","struct mq_attr *"
-"mq_setattr","mqueue.h","!defined(CONFIG_DISABLE_MQUEUE)","int","mqd_t","const struct mq_attr *","struct mq_attr *"
-"ntohl","arpa/inet.h","","uint32_t","uint32_t"
-"ntohs","arpa/inet.h","","uint16_t","uint16_t"
-"perror","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","void","FAR const char *"
-"printf","stdio.h","","int","const char *","..."
-"pthread_attr_destroy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_attr_t *"
-"pthread_attr_getinheritsched","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR const pthread_attr_t *","FAR int *"
-"pthread_attr_getschedparam","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_attr_t *","FAR struct sched_param *"
-"pthread_attr_getschedpolicy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_attr_t *","int *"
-"pthread_attr_getstacksize","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_attr_t *","FAR long *"
-"pthread_attr_init","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_attr_t *"
-"pthread_attr_setinheritsched","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_attr_t *","int"
-"pthread_attr_setschedparam","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_attr_t *","FAR const struct sched_param *"
-"pthread_attr_setschedpolicy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_attr_t *","int"
-"pthread_attr_setstacksize","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_attr_t *","long"
-"pthread_barrierattr_destroy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_barrierattr_t *"
-"pthread_barrierattr_getpshared","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR const pthread_barrierattr_t *","FAR int *"
-"pthread_barrierattr_init","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_barrierattr_t *"
-"pthread_barrierattr_setpshared","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_barrierattr_t *","int"
-"pthread_condattr_destroy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_condattr_t *"
-"pthread_condattr_init","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_condattr_t *"
-"pthread_mutexattr_destroy","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_mutexattr_t *"
-"pthread_mutexattr_getpshared","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_mutexattr_t *","FAR int *"
-"pthread_mutexattr_gettype","pthread.h","!defined(CONFIG_DISABLE_PTHREAD) && defined(CONFIG_MUTEX_TYPES)","int","const pthread_mutexattr_t *","int *"
-"pthread_mutexattr_init","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_mutexattr_t *"
-"pthread_mutexattr_setpshared","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","FAR pthread_mutexattr_t *","int "
-"pthread_mutexattr_settype","pthread.h","!defined(CONFIG_DISABLE_PTHREAD) && defined(CONFIG_MUTEX_TYPES)","int","pthread_mutexattr_t *","int"
-"puts","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR const char *"
-"qsort","stdlib.h","","void","void *","size_t","size_t","int(*)(const void *","const void *)"
-"rand","stdlib.h","","int"
-"readdir_r","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","int","FAR DIR *","FAR struct dirent *","FAR struct dirent **"
-"rint","","","double_t","double_t"
-"sched_get_priority_max","sched.h","","int","int"
-"sched_get_priority_min","sched.h","","int","int"
-"sem_getvalue","semaphore.h","","int","FAR sem_t *","FAR int *"
-"sem_init","semaphore.h","","int","FAR sem_t *","int","unsigned int"
-"sendfile","sys/sendfile.h","CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0","ssize_t","int","int","off_t","size_t"
-"sigaddset","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR sigset_t *","int"
-"sigdelset","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR sigset_t *","int"
-"sigemptyset","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR sigset_t *"
-"sigfillset","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR sigset_t *"
-"sigismember","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","FAR const sigset_t *","int"
-"snprintf","stdio.h","","int","FAR char *","size_t","const char *","..."
-"sprintf","stdio.h","","int","FAR char *","const char *","..."
-"sq_addafter","queue.h","","void","FAR sq_entry_t *","FAR sq_entry_t *","FAR sq_queue_t *"
-"sq_addfirst","queue.h","","void","FAR sq_entry_t *","sq_queue_t *"
-"sq_addlast","queue.h","","void","FAR sq_entry_t *","sq_queue_t *"
-"sq_rem","queue.h","","void","FAR sq_entry_t *","sq_queue_t *"
-"sq_remafter","queue.h","","FAR sq_entry_t","FAR sq_entry_t *","sq_queue_t *"
-"sq_remfirst","queue.h","","FAR sq_entry_t","sq_queue_t *"
-"sq_remlast","queue.h","","FAR sq_entry_t","sq_queue_t *"
-"srand","stdlib.h","","void","unsigned int"
-"sscanf","stdio.h","","int","const char *","const char *","..."
-"strcasecmp","string.h","","int","FAR const char *","FAR const char *"
-"strcasestr","string.h","","FAR char","FAR const char *","FAR const char *"
-"strcat","string.h","","FAR char","FAR char *","FAR const char *"
-"strchr","string.h","","FAR char","FAR const char *","int"
-"strcmp","string.h","","int","FAR const char *","FAR const char *"
-"strcpy","string.h","","FAR char","char *","FAR const char *"
-"strcspn","string.h","","size_t","FAR const char *","FAR const char *"
-"strdup","string.h","","FAR char","FAR const char *"
-"strerror","string.h","","FAR const char","int"
-"strftime","time.h","","size_t","char *","size_t","const char *","const struct tm *"
-"strlen","string.h","","size_t","FAR const char *"
-"strncasecmp","string.h","","int","FAR const char *","FAR const char *","size_t"
-"strncat","string.h","","FAR char","FAR char *","FAR const char *","size_t"
-"strncmp","string.h","","int","FAR const char *","FAR const char *","size_t"
-"strncpy","string.h","","FAR char","char *","FAR const char *","size_t"
-"strndup","string.h","","FAR char","FAR const char *","size_t"
-"strnlen","string.h","","size_t","FAR const char *","size_t"
-"strpbrk","string.h","","FAR char","FAR const char *","FAR const char *"
-"strrchr","string.h","","FAR char","FAR const char *","int"
-"strspn","string.h","","size_t","FAR const char *","FAR const char *"
-"strstr","string.h","","FAR char","FAR const char *","FAR const char *"
-"strtod","stdlib.h","","double_t","const char *str","char **endptr"
-"strtok","string.h","","FAR char","FAR char *","FAR const char *"
-"strtok_r","string.h","","FAR char","FAR char *","FAR const char *","FAR char **"
-"strtol","string.h","","long","const char *","char **","int"
-"strtoll","stdlib.h","defined(CONFIG_HAVE_LONG_LONG)","long long","const char *nptr","char **endptr","int base"
-"strtoul","stdlib.h","","unsigned long","const char *","char **","int"
-"strtoull","stdlib.h","defined(CONFIG_HAVE_LONG_LONG)","unsigned long long","const char *","char **","int"
-"tcflush","termios.h","CONFIG_NFILE_DESCRIPTORS > 0 && defined(CONFIG_SERIAL_TERMIOS)","int","int","int"
-"tcgetattr","termios.h","CONFIG_NFILE_DESCRIPTORS > 0 && defined(CONFIG_SERIAL_TERMIOS)","int","int","FAR struct termios *"
-"tcsetattr","termios.h","CONFIG_NFILE_DESCRIPTORS > 0 && defined(CONFIG_SERIAL_TERMIOS)","int","int","int","FAR const struct termios *"
-"telldir","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","off_t","FAR DIR *"
-"time","time.h","","time_t","time_t *"
-"ub16divub16","fixedmath.h","","ub16_t","ub16_t","ub16_t"
-"ub16mulub16","fixedmath.h","","ub16_t","ub16_t","ub16_t"
-"ub16sqr","fixedmath.h","","ub16_t","ub16_t"
-"ungetc","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","int","FAR FILE *"
-"vdbg","debug.h","!defined(CONFIG_CPP_HAVE_VARARGS) && defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_VERBOSE)","int","const char *","..."
-"vfprintf","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR FILE *","const char *","va_list"
-"vprintf","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","int","FAR const char *","va_list"
-"vsnprintf","stdio.h","","int","FAR char *","size_t","const char *","va_list"
-"vsprintf","stdio.h","","int","FAR char *","const char *","va_list"
-"vsscanf","stdio.h","","int","char *","const char *","va_list"
diff --git a/nuttx/lib/lib_internal.h b/nuttx/lib/lib_internal.h
deleted file mode 100644
index 5da0ac924..000000000
--- a/nuttx/lib/lib_internal.h
+++ /dev/null
@@ -1,211 +0,0 @@
-/****************************************************************************
- * lib/lib_internal.h
- *
- * Copyright (C) 2007-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-#ifndef __LIB_LIB_INTERNAL_H
-#define __LIB_LIB_INTERNAL_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <limits.h>
-#include <semaphore.h>
-
-#include <nuttx/streams.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-/* This configuration directory is used in environment variable processing
- * when we need to reference the user's home directory. There are no user
- * directories in NuttX so, by default, this always refers to the root
- * directory.
- */
-
-#ifndef CONFIG_LIB_HOMEDIR
-# define CONFIG_LIB_HOMEDIR "/"
-#endif
-
-/* If C std I/O buffering is not supported, then we don't need its semaphore
- * protection.
- */
-
-#if CONFIG_STDIO_BUFFER_SIZE <= 0
-# define lib_sem_initialize(s)
-# define lib_take_semaphore(s)
-# define lib_give_semaphore(s)
-#endif
-
-/* The NuttX C library an be build in two modes: (1) as a standard, C-libary
- * that can be used by normal, user-space applications, or (2) as a special,
- * kernel-mode C-library only used within the OS. If NuttX is not being
- * built as separated kernel- and user-space modules, then only the first
- * mode is supported.
- */
-
-#if defined(CONFIG_NUTTX_KERNEL) && defined(__KERNEL__)
-# include <nuttx/kmalloc.h>
-# define lib_malloc(s) kmalloc(s)
-# define lib_zalloc(s) kzalloc(s)
-# define lib_realloc(p,s) krealloc(p,s)
-# define lib_free(p) kfree(p)
-#else
-# include <stdlib.h>
-# define lib_malloc(s) malloc(s)
-# define lib_zalloc(s) zalloc(s)
-# define lib_realloc(p,s) realloc(p,s)
-# define lib_free(p) free(p)
-#endif
-
-#define LIB_BUFLEN_UNKNOWN INT_MAX
-
-/****************************************************************************
- * Public Types
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/* Debug output is initially disabled */
-
-#ifdef CONFIG_DEBUG_ENABLE
-extern bool g_dbgenable;
-#endif
-
-/****************************************************************************
- * Public Function Prototypes
- ****************************************************************************/
-
-/* Defined in lib_streamsem.c */
-
-#if CONFIG_NFILE_STREAMS > 0
-void stream_semtake(FAR struct streamlist *list);
-void stream_semgive(FAR struct streamlist *list);
-#endif
-
-/* Defined in lib_libnoflush.c */
-
-#ifdef CONFIG_STDIO_LINEBUFFER
-int lib_noflush(FAR struct lib_outstream_s *this);
-#endif
-
-/* Defined in lib_libsprintf.c */
-
-int lib_sprintf(FAR struct lib_outstream_s *obj,
- const char *fmt, ...);
-
-/* Defined lib_libvsprintf.c */
-
-int lib_vsprintf(FAR struct lib_outstream_s *obj,
- FAR const char *src, va_list ap);
-
-/* Defined lib_rawprintf.c */
-
-int lib_rawvprintf(const char *src, va_list ap);
-
-/* Defined lib_lowprintf.c */
-
-int lib_lowvprintf(const char *src, va_list ap);
-
-/* Defined in lib_dtoa.c */
-
-#ifdef CONFIG_LIBC_FLOATINGPOINT
-char *__dtoa(double d, int mode, int ndigits, int *decpt, int *sign,
- char **rve);
-#endif
-
-/* Defined in lib_libwrite.c */
-
-ssize_t lib_fwrite(FAR const void *ptr, size_t count, FAR FILE *stream);
-
-/* Defined in lib_libfread.c */
-
-ssize_t lib_fread(FAR void *ptr, size_t count, FAR FILE *stream);
-
-/* Defined in lib_libfflush.c */
-
-ssize_t lib_fflush(FAR FILE *stream, bool bforce);
-
-/* Defined in lib_rdflush.c */
-
-int lib_rdflush(FAR FILE *stream);
-
-/* Defined in lib_wrflush.c */
-
-int lib_wrflush(FAR FILE *stream);
-
-/* Defined in lib_sem.c */
-
-#if CONFIG_STDIO_BUFFER_SIZE > 0
-void lib_sem_initialize(FAR struct file_struct *stream);
-void lib_take_semaphore(FAR struct file_struct *stream);
-void lib_give_semaphore(FAR struct file_struct *stream);
-#endif
-
-/* Defined in lib_libgetbase.c */
-
-int lib_getbase(const char *nptr, const char **endptr);
-
-/* Defined in lib_skipspace.c */
-
-void lib_skipspace(const char **pptr);
-
-/* Defined in lib_isbasedigit.c */
-
-bool lib_isbasedigit(int ch, int base, int *value);
-
-/* Defined in lib_checkbase.c */
-
-int lib_checkbase(int base, const char **pptr);
-
-/* Defined in lib_expi.c */
-
-#ifdef CONFIG_LIBM
-double lib_expi(size_t n);
-#endif
-
-/* Defined in lib_libsqrtapprox.c */
-
-#ifdef CONFIG_LIBM
-float lib_sqrtapprox(float x);
-#endif
-
-#endif /* __LIB_LIB_INTERNAL_H */
diff --git a/nuttx/lib/libgen/Make.defs b/nuttx/lib/libgen/Make.defs
deleted file mode 100644
index f12645512..000000000
--- a/nuttx/lib/libgen/Make.defs
+++ /dev/null
@@ -1,43 +0,0 @@
-############################################################################
-# lib/libgen/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the libgen C files to the build
-
-CSRCS += lib_basename.c lib_dirname.c
-
-# Add the libgen directory to the build
-
-DEPPATH += --dep-path libgen
-VPATH += :libgen
diff --git a/nuttx/lib/libgen/lib_basename.c b/nuttx/lib/libgen/lib_basename.c
deleted file mode 100644
index 986c6b852..000000000
--- a/nuttx/lib/libgen/lib_basename.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
- * lib/libgen/lib_basename.c
- *
- * Copyright (C) 2007, 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-#include <libgen.h>
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-static char g_retchar[2];
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: basename
- *
- * Description:
- * basename() extracts the filename component from a null-terminated
- * pathname string. In the usual case, basename() returns the component
- * following the final '/'. Trailing '/' characters are not counted as
- * part of the pathname.
- *
- * If path does not contain a slash, basename() returns a copy of path.
- * If path is the string "/", then basename() returns the string "/". If
- * path is a NULL pointer or points to an empty string, then basename()
- * return the string ".".
- *
- * basename() may modify the contents of path, so copies should be passed.
- * basename() may return pointers to statically allocated memory which may
- * be overwritten by subsequent calls.
- *
- * Parameter:
- * path The null-terminated string referring to the path to be decomposed
- *
- * Return:
- * On success the filename component of the path is returned.
- *
- ****************************************************************************/
-
-FAR char *basename(FAR char *path)
-{
- char *p;
- int len;
- int ch;
-
- /* Handle some corner cases */
-
- if (!path || *path == '\0')
- {
- ch = '.';
- goto out_retchar;
- }
-
- /* Check for trailing slash characters */
-
- len = strlen(path);
- while (path[len-1] == '/')
- {
- /* Remove trailing '/' UNLESS this would make a zero length string */
- if (len > 1)
- {
- path[len-1] = '\0';
- len--;
- }
- else
- {
- ch = '/';
- goto out_retchar;
- }
- }
-
- /* Get the address of the last '/' which is not at the end of the path and,
- * therefor, must be just before the beginning of the filename component.
- */
-
- p = strrchr(path, '/');
- if (p)
- {
- return p + 1;
- }
-
- /* There is no '/' in the path */
-
- return path;
-
-out_retchar:
- g_retchar[0] = ch;
- g_retchar[1] = '\0';
- return g_retchar;
-}
diff --git a/nuttx/lib/libgen/lib_dirname.c b/nuttx/lib/libgen/lib_dirname.c
deleted file mode 100644
index 248293a60..000000000
--- a/nuttx/lib/libgen/lib_dirname.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
- * lib/libgen/lib_dirname.c
- *
- * Copyright (C) 2007, 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-#include <libgen.h>
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-static char g_retchar[2];
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: dirname
- *
- * Description:
- * dirname() extracts the directory component from a null-terminated
- * pathname string. In the usual case, dirname() returns the string up
- * to, but not including, the final '/'. Trailing '/' characters are not
- * counted as part of the pathname.
- *
- * If path does not contain a slash, dirname() returns the string ".". If
- * path is the string "/", then dirname() returns the string "/". If path
- * is a NULL pointer or points to an empty string, then dirname() returns
- * the string ".".
- *
- * dirname() may modify the contents of path, so copies should be passed.
- * dirname() may return pointers to statically allocated memory which may
- * be overwritten by subsequent calls.
- *
- * Parameter:
- * path The null-terminated string referring to the path to be decomposed
- *
- * Return:
- * On success the directory component of the path is returned.
- *
- ****************************************************************************/
-
-FAR char *dirname(FAR char *path)
-{
- char *p;
- int len;
- int ch;
-
- /* Handle some corner cases */
-
- if (!path || *path == '\0')
- {
- ch = '.';
- goto out_retchar;
- }
-
- /* Check for trailing slash characters */
-
- len = strlen(path);
- while (path[len-1] == '/')
- {
- /* Remove trailing '/' UNLESS this would make a zero length string */
- if (len > 1)
- {
- path[len-1] = '\0';
- len--;
- }
- else
- {
- ch = '/';
- goto out_retchar;
- }
- }
-
- /* Get the address of the last '/' which is not at the end of the path and,
- * therefor, must be the end of the directory component.
- */
-
- p = strrchr(path, '/');
- if (p)
- {
- /* Handle the case where the only '/' in the string is the at the beginning
- * of the path.
- */
-
- if (p == path)
- {
- ch = '/';
- goto out_retchar;
- }
-
- /* No, the directory component is the substring before the '/'. */
-
- *p = '\0';
- return path;
- }
-
- /* There is no '/' in the path */
-
- ch = '.';
-
-out_retchar:
- g_retchar[0] = ch;
- g_retchar[1] = '\0';
- return g_retchar;
-}
diff --git a/nuttx/lib/math/Kconfig b/nuttx/lib/math/Kconfig
deleted file mode 100644
index c24bfd53f..000000000
--- a/nuttx/lib/math/Kconfig
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see misc/tools/kconfig-language.txt.
-#
-
-config LIBM
- bool "Math library"
- default n
- depends on !ARCH_MATH_H
- ---help---
- By default, no math library will be provided by NuttX. In this this case, it
- is assumed that (1) no math library is required, or (2) you will be using the
- math.h header file and the libm library provided by your toolchain.
-
- This is may be a very good choice is possible because your toolchain may have
- have a highly optimized version of libm.
-
- Another possibility is that you have a custom, architecture-specific math
- libary and that the corresponding math.h file resides at arch/<architecture>/include/math.h.
- The option is selected via ARCH_MATH_H. If ARCH_MATH_H is selected,then the include/nuttx/math.h
- header file will be copied to include/math.h where it can be used by your applications.
-
- If ARCH_MATH_H is not defined, then this option can be selected to build a generic,
- math library built into NuttX. This math library comes from the Rhombus OS and
- was written by Nick Johnson. The Rhombus OS math library port was contributed by
- Darcy Gong.
diff --git a/nuttx/lib/math/Make.defs b/nuttx/lib/math/Make.defs
deleted file mode 100644
index 73d0be6f3..000000000
--- a/nuttx/lib/math/Make.defs
+++ /dev/null
@@ -1,62 +0,0 @@
-############################################################################
-# lib/math/Make.defs
-#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-ifeq ($(CONFIG_LIBM),y)
-
-# Add the floating point math C files to the build
-
-CSRCS += lib_acosf.c lib_asinf.c lib_atan2f.c lib_atanf.c lib_ceilf.c lib_cosf.c
-CSRCS += lib_coshf.c lib_expf.c lib_fabsf.c lib_floorf.c lib_fmodf.c lib_frexpf.c
-CSRCS += lib_ldexpf.c lib_logf.c lib_log10f.c lib_log2f.c lib_modff.c lib_powf.c
-CSRCS += lib_sinf.c lib_sinhf.c lib_sqrtf.c lib_tanf.c lib_tanhf.c
-
-CSRCS += lib_acos.c lib_asin.c lib_atan.c lib_atan2.c lib_ceil.c lib_cos.c
-CSRCS += lib_cosh.c lib_exp.c lib_fabs.c lib_floor.c lib_fmod.c lib_frexp.c
-CSRCS += lib_ldexp.c lib_log.c lib_log10.c lib_log2.c lib_modf.c lib_pow.c
-CSRCS += lib_sin.c lib_sinh.c lib_sqrt.c lib_tan.c lib_tanh.c
-
-CSRCS += lib_acosl.c lib_asinl.c lib_atan2l.c lib_atanl.c lib_ceill.c lib_cosl.c
-CSRCS += lib_coshl.c lib_expl.c lib_fabsl.c lib_floorl.c lib_fmodl.c lib_frexpl.c
-CSRCS += lib_ldexpl.c lib_logl.c lib_log10l.c lib_log2l.c lib_modfl.c lib_powl.c
-CSRCS += lib_sinl.c lib_sinhl.c lib_sqrtl.c lib_tanl.c lib_tanhl.c
-
-CSRCS += lib_libexpi.c lib_libsqrtapprox.c
-
-# Add the floating point math directory to the build
-
-DEPPATH += --dep-path math
-VPATH += :math
-
-endif
diff --git a/nuttx/lib/math/lib_acos.c b/nuttx/lib/math/lib_acos.c
deleted file mode 100644
index d5ec36b9f..000000000
--- a/nuttx/lib/math/lib_acos.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_acos.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double acos(double x)
-{
- return (M_PI_2 - asin(x));
-}
-#endif
diff --git a/nuttx/lib/math/lib_acosf.c b/nuttx/lib/math/lib_acosf.c
deleted file mode 100644
index e14a73a6e..000000000
--- a/nuttx/lib/math/lib_acosf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/************************************************************************
- * lib/math/lib_acosf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float acosf(float x)
-{
- return (M_PI_2 - asinf(x));
-}
diff --git a/nuttx/lib/math/lib_acosl.c b/nuttx/lib/math/lib_acosl.c
deleted file mode 100644
index 911330577..000000000
--- a/nuttx/lib/math/lib_acosl.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_acos.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double acosl(long double x)
-{
- return (M_PI_2 - asinl(x));
-}
-#endif
diff --git a/nuttx/lib/math/lib_asin.c b/nuttx/lib/math/lib_asin.c
deleted file mode 100644
index 61b953531..000000000
--- a/nuttx/lib/math/lib_asin.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/************************************************************************
- * lib/math/lib_sin.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-#include <float.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double asin(double x)
-{
- long double y, y_sin, y_cos;
-
- y = 0;
-
- while (1)
- {
- y_sin = sin(y);
- y_cos = cos(y);
-
- if (y > M_PI_2 || y < -M_PI_2)
- {
- y = fmod(y, M_PI);
- }
-
- if (y_sin + DBL_EPSILON >= x && y_sin - DBL_EPSILON <= x)
- {
- break;
- }
-
- y = y - (y_sin - x) / y_cos;
- }
-
- return y;
-}
-#endif
diff --git a/nuttx/lib/math/lib_asinf.c b/nuttx/lib/math/lib_asinf.c
deleted file mode 100644
index 17669a934..000000000
--- a/nuttx/lib/math/lib_asinf.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/************************************************************************
- * lib/math/lib_sinf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-#include <float.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float asinf(float x)
-{
- long double y, y_sin, y_cos;
-
- y = 0;
-
- while (1)
- {
- y_sin = sinf(y);
- y_cos = cosf(y);
-
- if (y > M_PI_2 || y < -M_PI_2)
- {
- y = fmodf(y, M_PI);
- }
-
- if (y_sin + FLT_EPSILON >= x && y_sin - FLT_EPSILON <= x)
- {
- break;
- }
-
- y = y - (y_sin - x) / y_cos;
- }
-
- return y;
-}
-
diff --git a/nuttx/lib/math/lib_asinl.c b/nuttx/lib/math/lib_asinl.c
deleted file mode 100644
index dbb2bc3a2..000000000
--- a/nuttx/lib/math/lib_asinl.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/************************************************************************
- * lib/math/lib_sinl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-#include <float.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double asinl(long double x)
-{
- long double y, y_sin, y_cos;
-
- y = 0;
-
- while (1)
- {
- y_sin = sinl(y);
- y_cos = cosl(y);
-
- if (y > M_PI_2 || y < -M_PI_2)
- {
- y = fmodl(y, M_PI);
- }
-
- if (y_sin + LDBL_EPSILON >= x && y_sin - LDBL_EPSILON <= x)
- {
- break;
- }
-
- y = y - (y_sin - x) / y_cos;
- }
-
- return y;
-}
-#endif
diff --git a/nuttx/lib/math/lib_atan.c b/nuttx/lib/math/lib_atan.c
deleted file mode 100644
index b4db8fb31..000000000
--- a/nuttx/lib/math/lib_atan.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/************************************************************************
- * lib/math/lib_atan.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-#include <stddef.h>
-#include <stdint.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double atan(double x)
-{
- return asin(x / sqrt(x * x + 1));
-}
-#endif
diff --git a/nuttx/lib/math/lib_atan2.c b/nuttx/lib/math/lib_atan2.c
deleted file mode 100644
index 82d1f47ec..000000000
--- a/nuttx/lib/math/lib_atan2.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/************************************************************************
- * lib/math/lib_atan2.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double atan2(double y, double x)
-{
- if (y == 0.0)
- {
- if (x >= 0.0)
- {
- return 0.0;
- }
- else
- {
- return M_PI;
- }
- }
- else if (y > 0.0)
- {
- if (x == 0.0)
- {
- return M_PI_2;
- }
- else if (x > 0.0)
- {
- return atan(y / x);
- }
- else
- {
- return M_PI - atan(y / x);
- }
- }
- else
- {
- if (x == 0.0)
- {
- return M_PI + M_PI_2;
- }
- else if (x > 0.0)
- {
- return 2 * M_PI - atan(y / x);
- }
- else
- {
- return M_PI + atan(y / x);
- }
- }
-}
-#endif
diff --git a/nuttx/lib/math/lib_atan2f.c b/nuttx/lib/math/lib_atan2f.c
deleted file mode 100644
index a60d32c65..000000000
--- a/nuttx/lib/math/lib_atan2f.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/************************************************************************
- * lib/math/lib_atan2f.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float atan2f(float y, float x)
-{
- if (y == 0.0)
- {
- if (x >= 0.0)
- {
- return 0.0;
- }
- else
- {
- return M_PI;
- }
- }
- else if (y > 0.0)
- {
- if (x == 0.0)
- {
- return M_PI_2;
- }
- else if (x > 0.0)
- {
- return atanf(y / x);
- }
- else
- {
- return M_PI - atanf(y / x);
- }
- }
- else
- {
- if (x == 0.0)
- {
- return M_PI + M_PI_2;
- }
- else if (x > 0.0)
- {
- return 2 * M_PI - atanf(y / x);
- }
- else
- {
- return M_PI + atanf(y / x);
- }
- }
-}
diff --git a/nuttx/lib/math/lib_atan2l.c b/nuttx/lib/math/lib_atan2l.c
deleted file mode 100644
index 07fcd9669..000000000
--- a/nuttx/lib/math/lib_atan2l.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/************************************************************************
- * lib/math/lib_atan2l.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double atan2l(long double y, long double x)
-{
-
- if (y == 0.0)
- {
- if (x >= 0.0)
- {
- return 0.0;
- }
- else
- {
- return M_PI;
- }
- }
- else if (y > 0.0)
- {
- if (x == 0.0)
- {
- return M_PI_2;
- }
- else if (x > 0.0)
- {
- return atanl(y / x);
- }
- else
- {
- return M_PI - atanl(y / x);
- }
- }
- else
- {
- if (x == 0.0)
- {
- return M_PI + M_PI_2;
- }
- else if (x > 0.0)
- {
- return 2 * M_PI - atanl(y / x);
- }
- else
- {
- return M_PI + atanl(y / x);
- }
- }
-}
-#endif
diff --git a/nuttx/lib/math/lib_atanf.c b/nuttx/lib/math/lib_atanf.c
deleted file mode 100644
index 7c540dd16..000000000
--- a/nuttx/lib/math/lib_atanf.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/************************************************************************
- * lib/math/lib_atanf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-#include <stddef.h>
-#include <stdint.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float atanf(float x)
-{
- return asinf(x / sqrtf(x * x + 1));
-}
diff --git a/nuttx/lib/math/lib_atanl.c b/nuttx/lib/math/lib_atanl.c
deleted file mode 100644
index 0fa203098..000000000
--- a/nuttx/lib/math/lib_atanl.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/************************************************************************
- * lib/math/lib_atanl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-#include <stddef.h>
-#include <stdint.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double atanl(long double x)
-{
- return asinl(x / sqrtl(x * x + 1));
-}
-#endif
diff --git a/nuttx/lib/math/lib_ceil.c b/nuttx/lib/math/lib_ceil.c
deleted file mode 100644
index 0e7602996..000000000
--- a/nuttx/lib/math/lib_ceil.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/************************************************************************
- * lib/math/lib_ceil.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double ceil(double x)
-{
- modf(x, &x);
- if (x > 0.0)
- {
- x += 1.0;
- }
-
- return x;
-}
-#endif
diff --git a/nuttx/lib/math/lib_ceilf.c b/nuttx/lib/math/lib_ceilf.c
deleted file mode 100644
index 0721ffc22..000000000
--- a/nuttx/lib/math/lib_ceilf.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/************************************************************************
- * lib/math/lib_ceilf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float ceilf(float x)
-{
- modff(x, &x);
- if (x > 0.0)
- {
- x += 1.0;
- }
-
- return x;
-}
diff --git a/nuttx/lib/math/lib_ceill.c b/nuttx/lib/math/lib_ceill.c
deleted file mode 100644
index a24b56f68..000000000
--- a/nuttx/lib/math/lib_ceill.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/************************************************************************
- * lib/math/lib_ceil;.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double ceill(long double x)
-{
- modfl(x, &x);
- if (x > 0.0)
- {
- x += 1.0;
- }
-
- return x;
-}
-#endif
diff --git a/nuttx/lib/math/lib_cos.c b/nuttx/lib/math/lib_cos.c
deleted file mode 100644
index aa672b855..000000000
--- a/nuttx/lib/math/lib_cos.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_cos.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double cos(double x)
-{
- return sin(x + M_PI_2);
-}
-#endif
diff --git a/nuttx/lib/math/lib_cosf.c b/nuttx/lib/math/lib_cosf.c
deleted file mode 100644
index 093a8a002..000000000
--- a/nuttx/lib/math/lib_cosf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/************************************************************************
- * lib/math/lib_cosf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float cosf(float x)
-{
- return sinf(x + M_PI_2);
-}
diff --git a/nuttx/lib/math/lib_cosh.c b/nuttx/lib/math/lib_cosh.c
deleted file mode 100644
index 1be44d293..000000000
--- a/nuttx/lib/math/lib_cosh.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/************************************************************************
- * lib/math/lib_cosh.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double cosh(double x)
-{
- x = exp(x);
- return ((x + (1.0 / x)) / 2.0);
-}
-#endif
diff --git a/nuttx/lib/math/lib_coshf.c b/nuttx/lib/math/lib_coshf.c
deleted file mode 100644
index d5e5ea14d..000000000
--- a/nuttx/lib/math/lib_coshf.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/************************************************************************
- * lib/math/lib_coshf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float coshf(float x)
-{
- x = expf(x);
- return ((x + (1.0 / x)) / 2.0);
-}
diff --git a/nuttx/lib/math/lib_coshl.c b/nuttx/lib/math/lib_coshl.c
deleted file mode 100644
index 4576b8876..000000000
--- a/nuttx/lib/math/lib_coshl.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/************************************************************************
- * lib/math/lib_coshl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double coshl(long double x)
-{
- x = expl(x);
- return ((x + (1.0 / x)) / 2.0);
-}
-#endif
diff --git a/nuttx/lib/math/lib_cosl.c b/nuttx/lib/math/lib_cosl.c
deleted file mode 100644
index 25dd86139..000000000
--- a/nuttx/lib/math/lib_cosl.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_cosl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double cosl(long double x)
-{
- return sinl(x + M_PI_2);
-}
-#endif
diff --git a/nuttx/lib/math/lib_exp.c b/nuttx/lib/math/lib_exp.c
deleted file mode 100644
index 1e3120453..000000000
--- a/nuttx/lib/math/lib_exp.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/************************************************************************
- * lib/math/lib_exp.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <sys/types.h>
-#include <math.h>
-
-#include "lib_internal.h"
-
-#ifdef CONFIG_HAVE_DOUBLE
-
-/************************************************************************
- * Private Data
- ************************************************************************/
-
-static double _dbl_inv_fact[] =
-{
- 1.0 / 1.0, // 1 / 0!
- 1.0 / 1.0, // 1 / 1!
- 1.0 / 2.0, // 1 / 2!
- 1.0 / 6.0, // 1 / 3!
- 1.0 / 24.0, // 1 / 4!
- 1.0 / 120.0, // 1 / 5!
- 1.0 / 720.0, // 1 / 6!
- 1.0 / 5040.0, // 1 / 7!
- 1.0 / 40320.0, // 1 / 8!
- 1.0 / 362880.0, // 1 / 9!
- 1.0 / 3628800.0, // 1 / 10!
- 1.0 / 39916800.0, // 1 / 11!
- 1.0 / 479001600.0, // 1 / 12!
- 1.0 / 6227020800.0, // 1 / 13!
- 1.0 / 87178291200.0, // 1 / 14!
- 1.0 / 1307674368000.0, // 1 / 15!
- 1.0 / 20922789888000.0, // 1 / 16!
- 1.0 / 355687428096000.0, // 1 / 17!
- 1.0 / 6402373705728000.0, // 1 / 18!
-};
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-double exp(double x)
-{
- size_t int_part;
- bool invert;
- double value;
- double x0;
- size_t i;
-
- if (x == 0)
- {
- return 1;
- }
- else if (x < 0)
- {
- invert = true;
- x = -x;
- }
- else
- {
- invert = false;
- }
-
- /* Extract integer component */
-
- int_part = (size_t) x;
-
- /* Set x to fractional component */
-
- x -= (double)int_part;
-
- /* Perform Taylor series approximation with nineteen terms */
-
- value = 0.0;
- x0 = 1.0;
- for (i = 0; i < 19; i++)
- {
- value += x0 * _dbl_inv_fact[i];
- x0 *= x;
- }
-
- /* Multiply by exp of the integer component */
-
- value *= lib_expi(int_part);
-
- if (invert)
- {
- return (1.0 / value);
- }
- else
- {
- return value;
- }
-}
-#endif
diff --git a/nuttx/lib/math/lib_expf.c b/nuttx/lib/math/lib_expf.c
deleted file mode 100644
index eac4641c6..000000000
--- a/nuttx/lib/math/lib_expf.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/************************************************************************
- * lib/math/lib_expf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <sys/types.h>
-#include <math.h>
-
-#include "lib_internal.h"
-
-/************************************************************************
- * Private Data
- ************************************************************************/
-
-static float _flt_inv_fact[] =
-{
- 1.0 / 1.0, // 1/0!
- 1.0 / 1.0, // 1/1!
- 1.0 / 2.0, // 1/2!
- 1.0 / 6.0, // 1/3!
- 1.0 / 24.0, // 1/4!
- 1.0 / 120.0, // 1/5!
- 1.0 / 720.0, // 1/6!
- 1.0 / 5040.0, // 1/7!
- 1.0 / 40320.0, // 1/8!
- 1.0 / 362880.0, // 1/9!
- 1.0 / 3628800.0, // 1/10!
-};
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float expf(float x)
-{
- size_t int_part;
- bool invert;
- float value;
- float x0;
- size_t i;
-
- if (x == 0)
- {
- return 1;
- }
- else if (x < 0)
- {
- invert = true;
- x = -x;
- }
- else
- {
- invert = false;
- }
-
- /* Extract integer component */
-
- int_part = (size_t) x;
-
- /* set x to fractional component */
-
- x -= (float)int_part;
-
- /* Perform Taylor series approximation with eleven terms */
-
- value = 0.0;
- x0 = 1.0;
- for (i = 0; i < 10; i++)
- {
- value += x0 * _flt_inv_fact[i];
- x0 *= x;
- }
-
- /* Multiply by exp of the integer component */
-
- value *= lib_expi(int_part);
-
- if (invert)
- {
- return (1.0 / value);
- }
- else
- {
- return value;
- }
-}
diff --git a/nuttx/lib/math/lib_expl.c b/nuttx/lib/math/lib_expl.c
deleted file mode 100644
index 053103c9b..000000000
--- a/nuttx/lib/math/lib_expl.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/************************************************************************
- * lib/math/lib_expl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <sys/types.h>
-#include <math.h>
-
-#include "lib_internal.h"
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-
-/************************************************************************
- * Private Data
- ************************************************************************/
-
-static long double _ldbl_inv_fact[] =
-{
- 1.0 / 1.0, // 1 / 0!
- 1.0 / 1.0, // 1 / 1!
- 1.0 / 2.0, // 1 / 2!
- 1.0 / 6.0, // 1 / 3!
- 1.0 / 24.0, // 1 / 4!
- 1.0 / 120.0, // 1 / 5!
- 1.0 / 720.0, // 1 / 6!
- 1.0 / 5040.0, // 1 / 7!
- 1.0 / 40320.0, // 1 / 8!
- 1.0 / 362880.0, // 1 / 9!
- 1.0 / 3628800.0, // 1 / 10!
- 1.0 / 39916800.0, // 1 / 11!
- 1.0 / 479001600.0, // 1 / 12!
- 1.0 / 6227020800.0, // 1 / 13!
- 1.0 / 87178291200.0, // 1 / 14!
- 1.0 / 1307674368000.0, // 1 / 15!
- 1.0 / 20922789888000.0, // 1 / 16!
- 1.0 / 355687428096000.0, // 1 / 17!
- 1.0 / 6402373705728000.0, // 1 / 18!
-};
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-long double expl(long double x)
-{
- size_t int_part;
- bool invert;
- long double value;
- long double x0;
- size_t i;
-
- if (x == 0)
- {
- return 1;
- }
- else if (x < 0)
- {
- invert = true;
- x = -x;
- }
- else
- {
- invert = false;
- }
-
- /* Extract integer component */
-
- int_part = (size_t) x;
-
- /* Set x to fractional component */
-
- x -= (long double)int_part;
-
- /* Perform Taylor series approximation with nineteen terms */
-
- value = 0.0;
- x0 = 1.0;
- for (i = 0; i < 19; i++)
- {
- value += x0 * _ldbl_inv_fact[i];
- x0 *= x;
- }
-
- /* Multiply by exp of the integer component */
-
- value *= lib_expi(int_part);
-
- if (invert)
- {
- return (1.0 / value);
- }
- else
- {
- return value;
- }
-}
-#endif
diff --git a/nuttx/lib/math/lib_fabs.c b/nuttx/lib/math/lib_fabs.c
deleted file mode 100644
index ff99ceb64..000000000
--- a/nuttx/lib/math/lib_fabs.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_fabs.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double fabs(double x)
-{
- return ((x < 0) ? -x : x);
-}
-#endif
diff --git a/nuttx/lib/math/lib_fabsf.c b/nuttx/lib/math/lib_fabsf.c
deleted file mode 100644
index 0ea186ca0..000000000
--- a/nuttx/lib/math/lib_fabsf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/************************************************************************
- * lib/math/lib_fabsf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float fabsf(float x)
-{
- return ((x < 0) ? -x : x);
-}
diff --git a/nuttx/lib/math/lib_fabsl.c b/nuttx/lib/math/lib_fabsl.c
deleted file mode 100644
index 5313d897d..000000000
--- a/nuttx/lib/math/lib_fabsl.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_fabsl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double fabsl(long double x)
-{
- return ((x < 0) ? -x : x);
-}
-#endif
diff --git a/nuttx/lib/math/lib_floor.c b/nuttx/lib/math/lib_floor.c
deleted file mode 100644
index f0c4477a0..000000000
--- a/nuttx/lib/math/lib_floor.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/************************************************************************
- * lib/math/lib_floor.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double floor(double x)
-{
- modf(x, &x);
- if (x < 0.0)
- {
- x -= 1.0;
- }
-
- return x;
-}
-#endif
diff --git a/nuttx/lib/math/lib_floorf.c b/nuttx/lib/math/lib_floorf.c
deleted file mode 100644
index 2becb5fac..000000000
--- a/nuttx/lib/math/lib_floorf.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/************************************************************************
- * lib/math/lib_floorf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float floorf(float x)
-{
- modff(x, &x);
- if (x < 0.0)
- {
- x -= 1.0;
- }
-
- return x;
-}
diff --git a/nuttx/lib/math/lib_floorl.c b/nuttx/lib/math/lib_floorl.c
deleted file mode 100644
index e38ce80ed..000000000
--- a/nuttx/lib/math/lib_floorl.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/************************************************************************
- * lib/math/lib_floorl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double floorl(long double x)
-{
- modfl(x, &x);
- if (x < 0.0)
- {
- x -= 1.0;
- }
-
- return x;
-}
-#endif
diff --git a/nuttx/lib/math/lib_fmod.c b/nuttx/lib/math/lib_fmod.c
deleted file mode 100644
index 939e7e18a..000000000
--- a/nuttx/lib/math/lib_fmod.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/************************************************************************
- * lib/math/lib_fmod.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double fmod(double x, double div)
-{
- double n0;
-
- x /= div;
- x = modf(x, &n0);
- x *= div;
-
- return x;
-}
-#endif
diff --git a/nuttx/lib/math/lib_fmodf.c b/nuttx/lib/math/lib_fmodf.c
deleted file mode 100644
index 085786f17..000000000
--- a/nuttx/lib/math/lib_fmodf.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/************************************************************************
- * lib/math/lib_fmodf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float fmodf(float x, float div)
-{
- float n0;
-
- x /= div;
- x = modff(x, &n0);
- x *= div;
-
- return x;
-}
diff --git a/nuttx/lib/math/lib_fmodl.c b/nuttx/lib/math/lib_fmodl.c
deleted file mode 100644
index 51c5e95ec..000000000
--- a/nuttx/lib/math/lib_fmodl.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/************************************************************************
- * lib/math/lib_fmodl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double fmodl(long double x, long double div)
-{
- long double n0;
-
- x /= div;
- x = modfl(x, &n0);
- x *= div;
-
- return x;
-}
-#endif
diff --git a/nuttx/lib/math/lib_frexp.c b/nuttx/lib/math/lib_frexp.c
deleted file mode 100644
index 56feee863..000000000
--- a/nuttx/lib/math/lib_frexp.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/************************************************************************
- * lib/math/lib_frexp.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double frexp(double x, int *exponent)
-{
- *exponent = (int)ceil(log2(x));
- return x / ldexp(1.0, *exponent);
-}
-#endif
diff --git a/nuttx/lib/math/lib_frexpf.c b/nuttx/lib/math/lib_frexpf.c
deleted file mode 100644
index 1fb0df3d8..000000000
--- a/nuttx/lib/math/lib_frexpf.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/************************************************************************
- * lib/math/lib_frexpf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float frexpf(float x, int *exponent)
-{
- *exponent = (int)ceilf(log2f(x));
- return x / ldexpf(1.0, *exponent);
-}
diff --git a/nuttx/lib/math/lib_frexpl.c b/nuttx/lib/math/lib_frexpl.c
deleted file mode 100644
index 87708ad86..000000000
--- a/nuttx/lib/math/lib_frexpl.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/************************************************************************
- * lib/math/lib_frexpl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double frexpl(long double x, int *exponent)
-{
- *exponent = (int)ceill(log2(x));
- return x / ldexpl(1.0, *exponent);
-}
-#endif
diff --git a/nuttx/lib/math/lib_ldexp.c b/nuttx/lib/math/lib_ldexp.c
deleted file mode 100644
index 4c7b2b721..000000000
--- a/nuttx/lib/math/lib_ldexp.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_ldexp.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double ldexp(double x, int n)
-{
- return (x * pow(2.0, (double)n));
-}
-#endif
diff --git a/nuttx/lib/math/lib_ldexpf.c b/nuttx/lib/math/lib_ldexpf.c
deleted file mode 100644
index c61d633d5..000000000
--- a/nuttx/lib/math/lib_ldexpf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/************************************************************************
- * lib/math/lib_ldexpf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float ldexpf(float x, int n)
-{
- return (x * powf(2.0, (float)n));
-}
diff --git a/nuttx/lib/math/lib_ldexpl.c b/nuttx/lib/math/lib_ldexpl.c
deleted file mode 100644
index b9a0f4a86..000000000
--- a/nuttx/lib/math/lib_ldexpl.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_ldexpl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double ldexpl(long double x, int n)
-{
- return (x * powl(2.0, (long double)n));
-}
-#endif
diff --git a/nuttx/lib/math/lib_libexpi.c b/nuttx/lib/math/lib_libexpi.c
deleted file mode 100644
index 1ec947a71..000000000
--- a/nuttx/lib/math/lib_libexpi.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/************************************************************************
- * lib/math/lib_libexpi.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <sys/types.h>
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-/************************************************************************
- * Pre-processor Definitions
- ************************************************************************/
-
-#define M_E2 (M_E * M_E)
-#define M_E4 (M_E2 * M_E2)
-#define M_E8 (M_E4 * M_E4)
-#define M_E16 (M_E8 * M_E8)
-#define M_E32 (M_E16 * M_E16)
-#define M_E64 (M_E32 * M_E32)
-#define M_E128 (M_E64 * M_E64)
-#define M_E256 (M_E128 * M_E128)
-#define M_E512 (M_E256 * M_E256)
-#define M_E1024 (M_E512 * M_E512)
-
-/************************************************************************
- * Private Data
- ************************************************************************/
-
-static double _expi_square_tbl[11] =
-{
- M_E, // e^1
- M_E2, // e^2
- M_E4, // e^4
- M_E8, // e^8
- M_E16, // e^16
- M_E32, // e^32
- M_E64, // e^64
- M_E128, // e^128
- M_E256, // e^256
- M_E512, // e^512
- M_E1024, // e^1024
-};
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-double lib_expi(size_t n)
-{
- size_t i;
- double val;
-
- if (n > 1024)
- {
- return INFINITY;
- }
-
- val = 1.0;
-
- for (i = 0; n; i++)
- {
- if (n & (1 << i))
- {
- n &= ~(1 << i);
- val *= _expi_square_tbl[i];
- }
- }
-
- return val;
-}
-
diff --git a/nuttx/lib/math/lib_libsqrtapprox.c b/nuttx/lib/math/lib_libsqrtapprox.c
deleted file mode 100644
index 5c556c3a0..000000000
--- a/nuttx/lib/math/lib_libsqrtapprox.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/************************************************************************
- * lib/math/lib_libsqrtapprox.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <stdint.h>
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float lib_sqrtapprox(float x)
-{
- int32_t i;
-
- /* Floats + bit manipulation = +inf fun! */
-
- i = *((int32_t *) & x);
- i = 0x1fc00000 + (i >> 1);
- x = *((float *)&i);
-
- return x;
-}
diff --git a/nuttx/lib/math/lib_log.c b/nuttx/lib/math/lib_log.c
deleted file mode 100644
index 1350ba4fe..000000000
--- a/nuttx/lib/math/lib_log.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/************************************************************************
- * lib/math/lib_log.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-#include <float.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double log(double x)
-{
- double y, y_old, ey, epsilon;
-
- y = 0.0;
- y_old = 1.0;
- epsilon = DBL_EPSILON;
-
- while (y > y_old + epsilon || y < y_old - epsilon)
- {
- y_old = y;
- ey = exp(y);
- y -= (ey - x) / ey;
-
- if (y > 700.0)
- {
- y = 700.0;
- }
-
- if (y < -700.0)
- {
- y = -700.0;
- }
-
- epsilon = (fabs(y) > 1.0) ? fabs(y) * DBL_EPSILON : DBL_EPSILON;
- }
-
- if (y == 700.0)
- {
- return INFINITY;
- }
-
- if (y == -700.0)
- {
- return INFINITY;
- }
-
- return y;
-}
-#endif
diff --git a/nuttx/lib/math/lib_log10.c b/nuttx/lib/math/lib_log10.c
deleted file mode 100644
index 47854fca4..000000000
--- a/nuttx/lib/math/lib_log10.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_log10.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double log10(double x)
-{
- return (log(x) / M_LN10);
-}
-#endif
diff --git a/nuttx/lib/math/lib_log10f.c b/nuttx/lib/math/lib_log10f.c
deleted file mode 100644
index 651071920..000000000
--- a/nuttx/lib/math/lib_log10f.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/************************************************************************
- * lib/math/lib_log10f.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float log10f(float x)
-{
- return (logf(x) / M_LN10);
-}
diff --git a/nuttx/lib/math/lib_log10l.c b/nuttx/lib/math/lib_log10l.c
deleted file mode 100644
index 65892262a..000000000
--- a/nuttx/lib/math/lib_log10l.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_log10l.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double log10l(long double x)
-{
- return (logl(x) / M_LN10);
-}
-#endif
diff --git a/nuttx/lib/math/lib_log2.c b/nuttx/lib/math/lib_log2.c
deleted file mode 100644
index 0aa1e8010..000000000
--- a/nuttx/lib/math/lib_log2.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_log2.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double log2(double x)
-{
- return (log(x) / M_LN2);
-}
-#endif
diff --git a/nuttx/lib/math/lib_log2f.c b/nuttx/lib/math/lib_log2f.c
deleted file mode 100644
index e160ca59e..000000000
--- a/nuttx/lib/math/lib_log2f.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/************************************************************************
- * lib/math/lib_log2f.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float log2f(float x)
-{
- return (logf(x) / M_LN2);
-}
diff --git a/nuttx/lib/math/lib_log2l.c b/nuttx/lib/math/lib_log2l.c
deleted file mode 100644
index 21d26d4d7..000000000
--- a/nuttx/lib/math/lib_log2l.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_log2l.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double log2l(long double x)
-{
- return (logl(x) / M_LN2);
-}
-#endif
diff --git a/nuttx/lib/math/lib_logf.c b/nuttx/lib/math/lib_logf.c
deleted file mode 100644
index 1d31aa0c0..000000000
--- a/nuttx/lib/math/lib_logf.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/************************************************************************
- * lib/math/lib_logf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-#include <float.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float logf(float x)
-{
- float y, y_old, ey, epsilon;
-
- y = 0.0;
- y_old = 1.0;
- epsilon = FLT_EPSILON;
-
- while (y > y_old + epsilon || y < y_old - epsilon)
- {
- y_old = y;
- ey = exp(y);
- y -= (ey - x) / ey;
-
- if (y > 700.0)
- {
- y = 700.0;
- }
-
- if (y < -700.0)
- {
- y = -700.0;
- }
-
- epsilon = (fabs(y) > 1.0) ? fabs(y) * FLT_EPSILON : FLT_EPSILON;
- }
-
- if (y == 700.0)
- {
- return INFINITY;
- }
-
- if (y == -700.0)
- {
- return INFINITY;
- }
-
- return y;
-}
diff --git a/nuttx/lib/math/lib_logl.c b/nuttx/lib/math/lib_logl.c
deleted file mode 100644
index 577f9cee2..000000000
--- a/nuttx/lib/math/lib_logl.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/************************************************************************
- * lib/math/lib_lol.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-#include <float.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double logl(long double x)
-{
- long double y, y_old, ey, epsilon;
-
- y = 0.0;
- y_old = 1.0;
- epsilon = LDBL_EPSILON;
-
- while (y > y_old + epsilon || y < y_old - epsilon)
- {
- y_old = y;
- ey = expl(y);
- y -= (ey - x) / ey;
-
- if (y > 700.0)
- {
- y = 700.0;
- }
-
- if (y < -700.0)
- {
- y = -700.0;
- }
- }
-
- if (y == 700.0)
- {
- return INFINITY;
- }
-
- if (y == -700.0)
- {
- return INFINITY;
- }
-
- return y;
-}
-#endif
diff --git a/nuttx/lib/math/lib_modf.c b/nuttx/lib/math/lib_modf.c
deleted file mode 100644
index 9dc6284c2..000000000
--- a/nuttx/lib/math/lib_modf.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/************************************************************************
- * lib/math/lib_modf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <stdint.h>
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double modf(double x, double *iptr)
-{
- if (fabs(x) >= 4503599627370496.0)
- {
- *iptr = x;
- return 0.0;
- }
- else if (fabs(x) < 1.0)
- {
- *iptr = 0.0;
- return x;
- }
- else
- {
- *iptr = (double)(int64_t) x;
- return (x - *iptr);
- }
-}
-#endif
diff --git a/nuttx/lib/math/lib_modff.c b/nuttx/lib/math/lib_modff.c
deleted file mode 100644
index 4eec2ae17..000000000
--- a/nuttx/lib/math/lib_modff.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/************************************************************************
- * lib/math/lib_modff.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float modff(float x, float *iptr)
-{
- if (fabsf(x) >= 8388608.0)
- {
- *iptr = x;
- return 0.0;
- }
- else if (fabs(x) < 1.0)
- {
- *iptr = 0.0;
- return x;
- }
- else
- {
- *iptr = (float)(int)x;
- return (x - *iptr);
- }
-}
diff --git a/nuttx/lib/math/lib_modfl.c b/nuttx/lib/math/lib_modfl.c
deleted file mode 100644
index 3b04571f3..000000000
--- a/nuttx/lib/math/lib_modfl.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/************************************************************************
- * lib/math/lib_modfl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <stdint.h>
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double modfl(long double x, long double *iptr)
-{
- if (fabs(x) >= 4503599627370496.0)
- {
- *iptr = x;
- return 0.0;
- }
- else if (fabs(x) < 1.0)
- {
- *iptr = 0.0;
- return x;
- }
- else
- {
- *iptr = (long double)(int64_t) x;
- return (x - *iptr);
- }
-}
-#endif
diff --git a/nuttx/lib/math/lib_pow.c b/nuttx/lib/math/lib_pow.c
deleted file mode 100644
index af0a55d32..000000000
--- a/nuttx/lib/math/lib_pow.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_pow.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double pow(double b, double e)
-{
- return exp(e * log(b));
-}
-#endif
diff --git a/nuttx/lib/math/lib_powf.c b/nuttx/lib/math/lib_powf.c
deleted file mode 100644
index a43f9cf82..000000000
--- a/nuttx/lib/math/lib_powf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/************************************************************************
- * lib/math/lib_powf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float powf(float b, float e)
-{
- return expf(e * logf(b));
-}
diff --git a/nuttx/lib/math/lib_powl.c b/nuttx/lib/math/lib_powl.c
deleted file mode 100644
index f5fbf042e..000000000
--- a/nuttx/lib/math/lib_powl.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_powl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double powl(long double b, long double e)
-{
- return expl(e * logl(b));
-}
-#endif
diff --git a/nuttx/lib/math/lib_sin.c b/nuttx/lib/math/lib_sin.c
deleted file mode 100644
index c04d6b88b..000000000
--- a/nuttx/lib/math/lib_sin.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/************************************************************************
- * lib/math/lib_sin.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <sys/types.h>
-#include <math.h>
-
-#ifdef CONFIG_HAVE_DOUBLE
-
-/************************************************************************
- * Private Data
- ************************************************************************/
-
-static double _dbl_inv_fact[] =
-{
- 1.0 / 1.0, // 1 / 1!
- 1.0 / 6.0, // 1 / 3!
- 1.0 / 120.0, // 1 / 5!
- 1.0 / 5040.0, // 1 / 7!
- 1.0 / 362880.0, // 1 / 9!
- 1.0 / 39916800.0, // 1 / 11!
- 1.0 / 6227020800.0, // 1 / 13!
- 1.0 / 1307674368000.0, // 1 / 15!
- 1.0 / 355687428096000.0, // 1 / 17!
- 1.0 / 121645100408832000.0, // 1 / 19!
-};
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-double sin(double x)
-{
- double x_squared;
- double sin_x;
- size_t i;
-
- /* Move x to [-pi, pi) */
-
- x = fmod(x, 2 * M_PI);
- if (x >= M_PI)
- {
- x -= 2 * M_PI;
- }
-
- if (x < -M_PI)
- {
- x += 2 * M_PI;
- }
-
- /* Move x to [-pi/2, pi/2) */
-
- if (x >= M_PI_2)
- {
- x = M_PI - x;
- }
-
- if (x < -M_PI_2)
- {
- x = -M_PI - x;
- }
-
- x_squared = x * x;
- sin_x = 0.0;
-
- /* Perform Taylor series approximation for sin(x) with ten terms */
-
- for (i = 0; i < 10; i++)
- {
- if (i % 2 == 0)
- {
- sin_x += x * _dbl_inv_fact[i];
- }
- else
- {
- sin_x -= x * _dbl_inv_fact[i];
- }
-
- x *= x_squared;
- }
-
- return sin_x;
-}
-#endif
diff --git a/nuttx/lib/math/lib_sinf.c b/nuttx/lib/math/lib_sinf.c
deleted file mode 100644
index e298bbba4..000000000
--- a/nuttx/lib/math/lib_sinf.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/************************************************************************
- * lib/math/lib_sinf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <sys/types.h>
-#include <math.h>
-
-/************************************************************************
- * Private Data
- ************************************************************************/
-
-static float _flt_inv_fact[] =
-{
- 1.0 / 1.0, // 1 / 1!
- 1.0 / 6.0, // 1 / 3!
- 1.0 / 120.0, // 1 / 5!
- 1.0 / 5040.0, // 1 / 7!
- 1.0 / 362880.0, // 1 / 9!
- 1.0 / 39916800.0, // 1 / 11!
-};
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float sinf(float x)
-{
- float x_squared;
- float sin_x;
- size_t i;
-
- /* Move x to [-pi, pi) */
-
- x = fmodf(x, 2 * M_PI);
- if (x >= M_PI)
- {
- x -= 2 * M_PI;
- }
-
- if (x < -M_PI)
- {
- x += 2 * M_PI;
- }
-
- /* Move x to [-pi/2, pi/2) */
-
- if (x >= M_PI_2)
- {
- x = M_PI - x;
- }
-
- if (x < -M_PI_2)
- {
- x = -M_PI - x;
- }
-
- x_squared = x * x;
- sin_x = 0.0;
-
- /* Perform Taylor series approximation for sin(x) with six terms */
-
- for (i = 0; i < 6; i++)
- {
- if (i % 2 == 0)
- {
- sin_x += x * _flt_inv_fact[i];
- }
- else
- {
- sin_x -= x * _flt_inv_fact[i];
- }
-
- x *= x_squared;
- }
-
- return sin_x;
-}
diff --git a/nuttx/lib/math/lib_sinh.c b/nuttx/lib/math/lib_sinh.c
deleted file mode 100644
index f33852433..000000000
--- a/nuttx/lib/math/lib_sinh.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/************************************************************************
- * lib/math/lib_sinh.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double sinh(double x)
-{
- x = exp(x);
- return ((x - (1.0 / x)) / 2.0);
-}
-#endif
diff --git a/nuttx/lib/math/lib_sinhf.c b/nuttx/lib/math/lib_sinhf.c
deleted file mode 100644
index e15cb14dc..000000000
--- a/nuttx/lib/math/lib_sinhf.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/************************************************************************
- * lib/math/lib_sinhf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float sinhf(float x)
-{
- x = expf(x);
- return ((x - (1.0 / x)) / 2.0);
-}
diff --git a/nuttx/lib/math/lib_sinhl.c b/nuttx/lib/math/lib_sinhl.c
deleted file mode 100644
index b0fea2914..000000000
--- a/nuttx/lib/math/lib_sinhl.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/************************************************************************
- * lib/math/lib_sinhl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double sinhl(long double x)
-{
- x = expl(x);
- return ((x - (1.0 / x)) / 2.0);
-}
-#endif
diff --git a/nuttx/lib/math/lib_sinl.c b/nuttx/lib/math/lib_sinl.c
deleted file mode 100644
index a69b548cb..000000000
--- a/nuttx/lib/math/lib_sinl.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/************************************************************************
- * lib/math/lib_sinl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <sys/types.h>
-#include <math.h>
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-
-/************************************************************************
- * Private Data
- ************************************************************************/
-
-static long double _ldbl_inv_fact[] =
-{
- 1.0 / 1.0, // 1 / 1!
- 1.0 / 6.0, // 1 / 3!
- 1.0 / 120.0, // 1 / 5!
- 1.0 / 5040.0, // 1 / 7!
- 1.0 / 362880.0, // 1 / 9!
- 1.0 / 39916800.0, // 1 / 11!
- 1.0 / 6227020800.0, // 1 / 13!
- 1.0 / 1307674368000.0, // 1 / 15!
- 1.0 / 355687428096000.0, // 1 / 17!
- 1.0 / 121645100408832000.0, // 1 / 19!
-};
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-long double sinl(long double x)
-{
- long double x_squared;
- long double sin_x;
- size_t i;
-
- /* Move x to [-pi, pi) */
-
- x = fmodl(x, 2 * M_PI);
- if (x >= M_PI)
- {
- x -= 2 * M_PI;
- }
-
- if (x < -M_PI)
- {
- x += 2 * M_PI;
- }
-
- /* Move x to [-pi/2, pi/2) */
-
- if (x >= M_PI_2)
- {
- x = M_PI - x;
- }
-
- if (x < -M_PI_2)
- {
- x = -M_PI - x;
- }
-
- x_squared = x * x;
- sin_x = 0.0;
-
- /* Perform Taylor series approximation for sin(x) with ten terms */
-
- for (i = 0; i < 10; i++)
- {
- if (i % 2 == 0)
- {
- sin_x += x * _ldbl_inv_fact[i];
- }
- else
- {
- sin_x -= x * _ldbl_inv_fact[i];
- }
-
- x *= x_squared;
- }
-
- return sin_x;
-}
-#endif
diff --git a/nuttx/lib/math/lib_sqrt.c b/nuttx/lib/math/lib_sqrt.c
deleted file mode 100644
index d77997f7c..000000000
--- a/nuttx/lib/math/lib_sqrt.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/************************************************************************
- * lib/math/lib_sqrt.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double sqrt(double x)
-{
- long double y, y1;
-
- if (x < 0.0)
- {
- errno = EDOM;
- return NAN;
- }
-
- if (isnan(x))
- {
- return NAN;
- }
-
- if (isinf(x))
- {
- return INFINITY;
- }
-
- if (x == 0.0)
- {
- return 0.0;
- }
-
- /* Guess square root (using bit manipulation) */
-
- y = lib_sqrtapprox(x);
-
- /* Perform four iterations of approximation. This number (4) is
- * definitely optimal
- */
-
- y = 0.5 * (y + x / y);
- y = 0.5 * (y + x / y);
- y = 0.5 * (y + x / y);
- y = 0.5 * (y + x / y);
-
- /* If guess was terribe (out of range of float). Repeat approximation
- * until convergence.
- */
-
- if (y * y < x - 1.0 || y * y > x + 1.0)
- {
- y1 = -1.0;
- while (y != y1)
- {
- y1 = y;
- y = 0.5 * (y + x / y);
- }
- }
-
- return y;
-}
-#endif
diff --git a/nuttx/lib/math/lib_sqrtf.c b/nuttx/lib/math/lib_sqrtf.c
deleted file mode 100644
index 81817a040..000000000
--- a/nuttx/lib/math/lib_sqrtf.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/************************************************************************
- * lib/math/lib_sqrtf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float sqrtf(float x)
-{
- float y;
-
- /* Filter out invalid/trivial inputs */
-
- if (x < 0.0)
- {
- errno = EDOM;
- return NAN;
- }
-
- if (isnan(x))
- {
- return NAN;
- }
-
- if (isinf(x))
- {
- return INFINITY;
- }
-
- if (x == 0.0)
- {
- return 0.0;
- }
-
- /* Guess square root (using bit manipulation) */
-
- y = lib_sqrtapprox(x);
-
- /* Perform three iterations of approximation. This number (3) is
- * definitely optimal
- */
-
- y = 0.5 * (y + x / y);
- y = 0.5 * (y + x / y);
- y = 0.5 * (y + x / y);
-
- return y;
-}
diff --git a/nuttx/lib/math/lib_sqrtl.c b/nuttx/lib/math/lib_sqrtl.c
deleted file mode 100644
index 6674fe50f..000000000
--- a/nuttx/lib/math/lib_sqrtl.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/************************************************************************
- * lib/math/lib_sqrtl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double sqrtl(long double x)
-{
- long double y, y1;
-
- /* Filter out invalid/trivial inputs */
-
- if (x < 0.0)
- {
- errno = EDOM;
- return NAN;
- }
-
- if (isnan(x))
- {
- return NAN;
- }
-
- if (isinf(x))
- {
- return INFINITY;
- }
-
- if (x == 0.0)
- {
- return 0.0;
- }
-
- /* Guess square root (using bit manipulation) */
-
- y = lib_sqrtapprox(x);
-
- /* Perform four iterations of approximation. This number (4) is
- * definitely optimal
- */
-
- y = 0.5 * (y + x / y);
- y = 0.5 * (y + x / y);
- y = 0.5 * (y + x / y);
- y = 0.5 * (y + x / y);
-
- /* If guess was terribe (out of range of float). Repeat approximation
- * until convergence
- */
-
- if (y * y < x - 1.0 || y * y > x + 1.0)
- {
- y1 = -1.0;
- while (y != y1)
- {
- y1 = y;
- y = 0.5 * (y + x / y);
- }
- }
-
- return y;
-}
-#endif
diff --git a/nuttx/lib/math/lib_tan.c b/nuttx/lib/math/lib_tan.c
deleted file mode 100644
index bce14b327..000000000
--- a/nuttx/lib/math/lib_tan.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_tan.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double tan(double x)
-{
- return (sin(x) / cos(x));
-}
-#endif
diff --git a/nuttx/lib/math/lib_tanf.c b/nuttx/lib/math/lib_tanf.c
deleted file mode 100644
index 3db3bda26..000000000
--- a/nuttx/lib/math/lib_tanf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/************************************************************************
- * lib/math/lib_tanf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float tanf(float x)
-{
- return (sinf(x) / cosf(x));
-}
diff --git a/nuttx/lib/math/lib_tanh.c b/nuttx/lib/math/lib_tanh.c
deleted file mode 100644
index 46fddd06d..000000000
--- a/nuttx/lib/math/lib_tanh.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/************************************************************************
- * lib/math/lib_tanh.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_DOUBLE
-double tanh(double x)
-{
- double x0 = exp(x);
- double x1 = 1.0 / x0;
-
- return ((x0 + x1) / (x0 - x1));
-}
-#endif
diff --git a/nuttx/lib/math/lib_tanhf.c b/nuttx/lib/math/lib_tanhf.c
deleted file mode 100644
index 94d15cc60..000000000
--- a/nuttx/lib/math/lib_tanhf.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/************************************************************************
- * lib/math/lib_tanhf.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-float tanhf(float x)
-{
- float x0 = expf(x);
- float x1 = 1.0 / x0;
-
- return ((x0 + x1) / (x0 - x1));
-}
diff --git a/nuttx/lib/math/lib_tanhl.c b/nuttx/lib/math/lib_tanhl.c
deleted file mode 100644
index 23c11d667..000000000
--- a/nuttx/lib/math/lib_tanhl.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/************************************************************************
- * lib/math/lib_tanhl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double tanhl(long double x)
-{
- long double x0 = exp(x);
- long double x1 = 1.0 / x0;
-
- return ((x0 + x1) / (x0 - x1));
-}
-#endif
diff --git a/nuttx/lib/math/lib_tanl.c b/nuttx/lib/math/lib_tanl.c
deleted file mode 100644
index 4973aa073..000000000
--- a/nuttx/lib/math/lib_tanl.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/************************************************************************
- * lib/math/lib_tanl.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Ported by: Darcy Gong
- *
- * It derives from the Rhombs OS math library by Nick Johnson which has
- * a compatibile, MIT-style license:
- *
- * Copyright (C) 2009, 2010 Nick Johnson <nickbjohnson4224 at gmail.com>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <math.h>
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_DOUBLE
-long double tanl(long double x)
-{
- return (sinl(x) / cosl(x));
-}
-#endif
diff --git a/nuttx/lib/misc/Make.defs b/nuttx/lib/misc/Make.defs
deleted file mode 100644
index c12533f75..000000000
--- a/nuttx/lib/misc/Make.defs
+++ /dev/null
@@ -1,69 +0,0 @@
-############################################################################
-# lib/misc/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the internal C files to the build
-
-CSRCS += lib_init.c lib_filesem.c
-
-# Add C files that depend on file OR socket descriptors
-
-ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
-
-CSRCS += lib_sendfile.c
-ifneq ($(CONFIG_NFILE_STREAMS),0)
-CSRCS += lib_streamsem.c
-endif
-
-else
-ifneq ($(CONFIG_NSOCKET_DESCRIPTORS),0)
-
-CSRCS += lib_sendfile.c
-ifneq ($(CONFIG_NFILE_STREAMS),0)
-CSRCS += lib_streamsem.c
-endif
-
-endif
-endif
-
-# Add the miscellaneous C files to the build
-
-CSRCS += lib_match.c
-CSRCS += lib_crc32.c
-CSRCS += lib_dbg.c lib_dumpbuffer.c
-
-# Add the misc directory to the build
-
-DEPPATH += --dep-path misc
-VPATH += :misc
diff --git a/nuttx/lib/misc/lib_crc32.c b/nuttx/lib/misc/lib_crc32.c
deleted file mode 100644
index f851598e0..000000000
--- a/nuttx/lib/misc/lib_crc32.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/************************************************************************************************
- * lib/misc/lib_crc32.c
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved.
- *
- * The logic in this file was developed by Gary S. Brown:
- *
- * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or code or tables
- * extracted from it, as desired without restriction.
- *
- * First, the polynomial itself and its table of feedback terms. The polynomial is:
- *
- * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0
- *
- * Note that we take it "backwards" and put the highest-order term in the lowest-order bit.
- * The X^32 term is "implied"; the LSB is the X^31 term, etc. The X^0 term (usually shown
- * as "+1") results in the MSB being 1
- *
- * Note that the usual hardware shift register implementation, which is what we're using
- * (we're merely optimizing it by doing eight-bit chunks at a time) shifts bits into the
- * lowest-order term. In our implementation, that means shifting towards the right. Why
- * do we do it this way? Because the calculated CRC must be transmitted in order from
- * highest-order term to lowest-order term. UARTs transmit characters in order from LSB
- * to MSB. By storing the CRC this way we hand it to the UART in the order low-byte to
- * high-byte; the UART sends each low-bit to hight-bit; and the result is transmission bit
- * by bit from highest- to lowest-order term without requiring any bit shuffling on our
- * part. Reception works similarly
- *
- * The feedback terms table consists of 256, 32-bit entries. Notes
- *
- * - The table can be generated at runtime if desired; code to do so is shown later. It
- * might not be obvious, but the feedback terms simply represent the results of eight
- * shift/xor operations for all combinations of data and CRC register values
- *
- * - The values must be right-shifted by eight bits by the updcrc logic; the shift must
- * be u_(bring in zeroes). On some hardware you could probably optimize the shift in
- * assembler by using byte-swap instructions polynomial $edb88320
- ************************************************************************************************/
-
-/************************************************************************************************
- * Included Files
- ************************************************************************************************/
-
-#include <sys/types.h>
-#include <stdint.h>
-#include <crc32.h>
-
-/************************************************************************************************
- * Private Data
- ************************************************************************************************/
-
-static const uint32_t crc32_tab[] =
-{
- 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
- 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
- 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
- 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
- 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
- 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
- 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f,
- 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d,
- 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
- 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
- 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
- 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
- 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
- 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
- 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
- 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
- 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
- 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
- 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
- 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
- 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
- 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
- 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
- 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
- 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
- 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
- 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
- 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
- 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
- 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
- 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
- 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
-};
-
-/************************************************************************************************
- * Public Functions
- ************************************************************************************************/
-/************************************************************************************************
- * Name: crc32part
- *
- * Description:
- * Continue CRC calculation on a part of the buffer.
- *
- ************************************************************************************************/
-
-uint32_t crc32part(FAR const uint8_t *src, size_t len, uint32_t crc32val)
-{
- size_t i;
-
- for (i = 0; i < len; i++)
- {
- crc32val = crc32_tab[(crc32val ^ src[i]) & 0xff] ^ (crc32val >> 8);
- }
- return crc32val;
-}
-
-/************************************************************************************************
- * Name: crc32
- *
- * Description:
- * Return a 32-bit CRC of the contents of the 'src' buffer, length 'len'
- *
- ************************************************************************************************/
-
-uint32_t crc32(FAR const uint8_t *src, size_t len)
-{
- return crc32part(src, len, 0);
-}
diff --git a/nuttx/lib/misc/lib_dbg.c b/nuttx/lib/misc/lib_dbg.c
deleted file mode 100644
index aacdaa30a..000000000
--- a/nuttx/lib/misc/lib_dbg.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/****************************************************************************
- * lib/misc/lib_dbg.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdarg.h>
-#include <debug.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/* Debug output is initially disabled */
-
-#ifdef CONFIG_DEBUG_ENABLE
-bool g_dbgenable;
-#endif
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: dbg_enable
- *
- * Description:
- * Enable or disable debug output.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_DEBUG_ENABLE
-void dbg_enable(bool enable)
-{
- g_dbgenable = enable;
-}
-#endif
-
-/****************************************************************************
- * Name: dbg, lldbg, vdbg
- *
- * Description:
- * If the cross-compiler's pre-processor does not support variable
- * length arguments, then these additional APIs will be built.
- *
- ****************************************************************************/
-
-#ifndef CONFIG_CPP_HAVE_VARARGS
-#ifdef CONFIG_DEBUG
-int dbg(const char *format, ...)
-{
- va_list ap;
- int ret;
-
-#ifdef CONFIG_DEBUG_ENABLE
- ret = 0;
- if (g_dbgenable)
-#endif
- {
- va_start(ap, format);
- ret = lib_rawvprintf(format, ap);
- va_end(ap);
- }
-
- return ret;
-}
-
-#ifdef CONFIG_ARCH_LOWPUTC
-int lldbg(const char *format, ...)
-{
- va_list ap;
- int ret;
-
-#ifdef CONFIG_DEBUG_ENABLE
- ret = 0;
- if (g_dbgenable)
-#endif
- {
- va_start(ap, format);
- ret = lib_lowvprintf(format, ap);
- va_end(ap);
- }
-
- return ret;
-}
-#endif
-
-#ifdef CONFIG_DEBUG_VERBOSE
-int vdbg(const char *format, ...)
-{
- va_list ap;
- int ret;
-
-#ifdef CONFIG_DEBUG_ENABLE
- ret = 0;
- if (g_dbgenable)
-#endif
- {
- va_start(ap, format);
- ret = lib_rawvprintf(format, ap);
- va_end(ap);
- }
-
- return ret;
-}
-
-#ifdef CONFIG_ARCH_LOWPUTC
-int llvdbg(const char *format, ...)
-{
- va_list ap;
- int ret;
-
-#ifdef CONFIG_DEBUG_ENABLE
- ret = 0;
- if (g_dbgenable)
-#endif
- {
- va_start(ap, format);
- ret = lib_lowvprintf(format, ap);
- va_end(ap);
- }
-
- return ret;
-}
-#endif /* CONFIG_ARCH_LOWPUTC */
-#endif /* CONFIG_DEBUG_VERBOSE */
-#endif /* CONFIG_DEBUG */
-#endif /* CONFIG_CPP_HAVE_VARARGS */
diff --git a/nuttx/lib/misc/lib_dumpbuffer.c b/nuttx/lib/misc/lib_dumpbuffer.c
deleted file mode 100644
index 155468ca1..000000000
--- a/nuttx/lib/misc/lib_dumpbuffer.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
- * lib/misc/lib_dumpbuffer.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <stdint.h>
-#include <debug.h>
-
-/****************************************************************************
- * Pre-processor definitions
- ****************************************************************************/
-
-/* Select the lowest level debug interface available */
-
-#ifdef CONFIG_CPP_HAVE_VARARGS
-# ifdef CONFIG_ARCH_LOWPUTC
-# define message(format, arg...) lib_lowprintf(format, ##arg)
-# else
-# define message(format, arg...) lib_rawprintf(format, ##arg)
-# endif
-#else
-# ifdef CONFIG_ARCH_LOWPUTC
-# define message lib_lowprintf
-# else
-# define message lib_rawprintf
-# endif
-#endif
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_dumpbuffer
- *
- * Description:
- * Do a pretty buffer dump
- *
- ****************************************************************************/
-
-void lib_dumpbuffer(FAR const char *msg, FAR const uint8_t *buffer, unsigned int buflen)
-{
- int i, j, k;
-
- message("%s (%p):\n", msg, buffer);
- for (i = 0; i < buflen; i += 32)
- {
- message("%04x: ", i);
- for (j = 0; j < 32; j++)
- {
- k = i + j;
-
- if (j == 16)
- {
- message(" ");
- }
-
- if (k < buflen)
- {
- message("%02x", buffer[k]);
- }
- else
- {
- message(" ");
- }
- }
-
- message(" ");
- for (j = 0; j < 32; j++)
- {
- k = i + j;
-
- if (j == 16)
- {
- message(" ");
- }
-
- if (k < buflen)
- {
- if (buffer[k] >= 0x20 && buffer[k] < 0x7f)
- {
- message("%c", buffer[k]);
- }
- else
- {
- message(".");
- }
- }
- }
- message("\n");
- }
-}
diff --git a/nuttx/lib/misc/lib_filesem.c b/nuttx/lib/misc/lib_filesem.c
deleted file mode 100644
index 1d1f25c2f..000000000
--- a/nuttx/lib/misc/lib_filesem.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/************************************************************************
- * lib/misc/lib_filesem.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <unistd.h>
-#include <semaphore.h>
-#include <errno.h>
-#include <assert.h>
-
-#include "lib_internal.h"
-
-#if CONFIG_STDIO_BUFFER_SIZE > 0
-
-/************************************************************************
- * Pre-processor Definitions
- ************************************************************************/
-
-/************************************************************************
- * Private Data
- ************************************************************************/
-
-/************************************************************************
- * Global Functions
- ************************************************************************/
-
-/************************************************************************
- * lib_sem_initialize
- ************************************************************************/
-
-void lib_sem_initialize(FAR struct file_struct *stream)
-{
- /* Initialize the LIB semaphore to one (to support one-at-
- * a-time access to private data sets.
- */
-
- (void)sem_init(&stream->fs_sem, 0, 1);
-
- stream->fs_holder = -1;
- stream->fs_counts = 0;
-}
-
-/************************************************************************
- * lib_take_semaphore
- ************************************************************************/
-
-void lib_take_semaphore(FAR struct file_struct *stream)
-{
- pid_t my_pid = getpid();
-
- /* Do I already have the semaphore? */
-
- if (stream->fs_holder == my_pid)
- {
- /* Yes, just increment the number of references that I have */
-
- stream->fs_counts++;
- }
- else
- {
- /* Take the semaphore (perhaps waiting) */
-
- while (sem_wait(&stream->fs_sem) != 0)
- {
- /* The only case that an error should occr here is if
- * the wait was awakened by a signal.
- */
-
- ASSERT(get_errno() == EINTR);
- }
-
- /* We have it. Claim the stak and return */
-
- stream->fs_holder = my_pid;
- stream->fs_counts = 1;
- }
-}
-
-/************************************************************************
- * lib_give_semaphore
- ************************************************************************/
-
-void lib_give_semaphore(FAR struct file_struct *stream)
-{
- pid_t my_pid = getpid();
-
- /* I better be holding at least one reference to the semaphore */
-
- ASSERT(stream->fs_holder == my_pid);
-
- /* Do I hold multiple references to the semphore */
-
- if (stream->fs_counts > 1)
- {
- /* Yes, just release one count and return */
-
- stream->fs_counts--;
- }
- else
- {
- /* Nope, this is the last reference I have */
-
- stream->fs_holder = -1;
- stream->fs_counts = 0;
- ASSERT(sem_post(&stream->fs_sem) == 0);
- }
-}
-#endif /* CONFIG_STDIO_BUFFER_SIZE */
diff --git a/nuttx/lib/misc/lib_init.c b/nuttx/lib/misc/lib_init.c
deleted file mode 100644
index 3403a837b..000000000
--- a/nuttx/lib/misc/lib_init.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/************************************************************
- * lib/misc/lib_init.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
-#include <nuttx/kmalloc.h>
-#include <nuttx/fs/fs.h>
-#include <nuttx/lib.h>
-
-#include "lib_internal.h"
-
-/************************************************************
- * Definitions
- ************************************************************/
-
-/************************************************************
- * Private Variables
- ************************************************************/
-
-/************************************************************
- * Private Functions
- ************************************************************/
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * lib_initialize
- ************************************************************/
-
-/* General library initialization hook */
-
-void weak_const_function lib_initialize(void)
-{
-}
-
-#if CONFIG_NFILE_STREAMS > 0
-/* The following function is called when a new TCB is allocated. It
- * creates the streamlist instance that is stored in the TCB.
- */
-
-FAR struct streamlist *lib_alloclist(void)
-{
- FAR struct streamlist *list;
- list = (FAR struct streamlist*)lib_zalloc(sizeof(struct streamlist));
- if (list)
- {
- int i;
-
- /* Start with a reference count of one */
-
- list->sl_crefs = 1;
-
- /* Initialize the list access mutex */
-
- (void)sem_init(&list->sl_sem, 0, 1);
-
- /* Initialize each FILE structure */
-
- for (i = 0; i < CONFIG_NFILE_STREAMS; i++)
- {
- /* Clear the IOB */
-
- memset(&list->sl_streams[i], 0, sizeof(FILE));
-
- /* Indicate not opened */
-
- list->sl_streams[i].fs_filedes = -1;
-
- /* Initialize the stream semaphore to one to support one-at-
- * a-time access to private data sets.
- */
-
- lib_sem_initialize(&list->sl_streams[i]);
- }
- }
- return list;
-
-}
-
-/* This function is called when a TCB is closed (such as with
- * pthread_create(). It increases the reference count on the stream
- * list.
- */
-
-void lib_addreflist(FAR struct streamlist *list)
-{
- if (list)
- {
- /* Increment the reference count on the list.
- * NOTE: that we disable interrupts to do this
- * (vs. taking the list semaphore). We do this
- * because file cleanup operations often must be
- * done from the IDLE task which cannot wait
- * on semaphores.
- */
-
- register irqstate_t flags = irqsave();
- list->sl_crefs++;
- irqrestore(flags);
- }
-}
-
-/* this function is called when a TCB is destroyed. Note that is
- * does not close the file by release this inode. This happens
- * separately when the file descriptor list is freed.
- */
-
-void lib_releaselist(FAR struct streamlist *list)
-{
- int crefs;
- if (list)
- {
- /* Decrement the reference count on the list.
- * NOTE: that we disable interrupts to do this
- * (vs. taking the list semaphore). We do this
- * because file cleanup operations often must be
- * done from the IDLE task which cannot wait
- * on semaphores.
- */
-
- register irqstate_t flags = irqsave();
- crefs = --(list->sl_crefs);
- irqrestore(flags);
-
- /* If the count decrements to zero, then there is no reference
- * to the structure and it should be deallocated. Since there
- * are references, it would be an error if any task still held
- * a reference to the list's semaphore.
- */
-
- if (crefs <= 0)
- {
-#if CONFIG_STDIO_BUFFER_SIZE > 0
- int i;
-#endif
- /* Destroy the semaphore and release the filelist */
-
- (void)sem_destroy(&list->sl_sem);
-
- /* Release each stream in the list */
-
-#if CONFIG_STDIO_BUFFER_SIZE > 0
- for (i = 0; i < CONFIG_NFILE_STREAMS; i++)
- {
- /* Destroy the semaphore that protects the IO buffer */
-
- (void)sem_destroy(&list->sl_streams[i].fs_sem);
-
- /* Release the IO buffer */
- if (list->sl_streams[i].fs_bufstart)
- {
- sched_free(list->sl_streams[i].fs_bufstart);
- }
- }
-#endif
- /* Finally, release the list itself */
-
- sched_free(list);
- }
- }
-}
-
-#endif /* CONFIG_NFILE_STREAMS */
-
-
diff --git a/nuttx/lib/misc/lib_match.c b/nuttx/lib/misc/lib_match.c
deleted file mode 100644
index 18e0632ec..000000000
--- a/nuttx/lib/misc/lib_match.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
- * lib/misc/lib_match.c - simple shell-style filename matcher
- *
- * Simple shell-style filename pattern matcher written by Jef Poskanzer
- * This pattern matcher only handles '?', '*' and '**', and multiple
- * patterns separated by '|'.
- *
- * Copyright © 1995,2000 by Jef Poskanzer <jef@mail.acme.com>.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <string.h>
-#include <nuttx/regex.h>
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: match_one
- *
- * Description:
- * Does all of the work for one '|' delimited pattern
- *
- * Returned Value:
- * Returns 1 (match) or 0 (no-match).
- *
- ****************************************************************************/
-
-static int match_one(const char *pattern, int patlen, const char *string)
-{
- const char *p;
- int pl;
- int i;
-
- for (p = pattern; p - pattern < patlen; p++, string++)
- {
- if (*p == '?' && *string != '\0')
- {
- continue;
- }
-
- if (*p == '*')
- {
- p++;
- if (*p == '*')
- {
- /* Double-wildcard matches anything. */
-
- p++;
- i = strlen(string);
- }
- else
- {
- /* Single-wildcard matches anything but slash. */
-
- i = strcspn(string, "/");
- }
-
- pl = patlen - (p - pattern);
- for (; i >= 0; i--)
- {
- if (match_one(p, pl, &(string[i])))
- {
- return 1;
- }
- }
- return 0;
- }
-
- if (*p != *string)
- {
- return 0;
- }
- }
-
- if (*string == '\0')
- {
- return 1;
- }
- return 0;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: match
- *
- * Description:
- * Simple shell-style filename pattern matcher written by Jef Poskanzer
- * This pattern matcher only handles '?', '*' and '**', and multiple
- * patterns separated by '|'.
- *
- * Returned Value:
- * Returns 1 (match) or 0 (no-match).
- *
- ****************************************************************************/
-
-int match(const char *pattern, const char *string)
-{
- const char *or;
-
- for (;;)
- {
- or = strchr(pattern, '|');
- if (or == (char *)0)
- {
- return match_one(pattern, strlen(pattern), string);
- }
-
- if (match_one(pattern, or - pattern, string))
- {
- return 1;
- }
-
- pattern = or + 1;
- }
-}
-
diff --git a/nuttx/lib/misc/lib_sendfile.c b/nuttx/lib/misc/lib_sendfile.c
deleted file mode 100644
index a82eb325e..000000000
--- a/nuttx/lib/misc/lib_sendfile.c
+++ /dev/null
@@ -1,297 +0,0 @@
-/************************************************************************
- * lib/misc/lib_streamsem.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/sendfile.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <errno.h>
-
-#if CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0
-
-/************************************************************************
- * Private types
- ************************************************************************/
-
-/************************************************************************
- * Private Variables
- ************************************************************************/
-
-/************************************************************************
- * Public Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Functions
- ************************************************************************/
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-/************************************************************************
- * Name: sendfile
- *
- * Description:
- * sendfile() copies data between one file descriptor and another.
- * sendfile() basically just wraps a sequence of reads() and writes()
- * to perform a copy. It serves a purpose in systems where there is
- * a penalty for copies to between user and kernal space, but really
- * nothing in NuttX but provide some Linux compatible (and adding
- * another 'almost standard' interface).
- *
- * NOTE: This interface is *not* specified in POSIX.1-2001, or other
- * standards. The implementation here is very similar to the Linux
- * sendfile interface. Other UNIX systems implement sendfile() with
- * different semantics and prototypes. sendfile() should not be used
- * in portable programs.
- *
- * Input Parmeters:
- * infd - A file (or socket) descriptor opened for reading
- * outfd - A descriptor opened for writing.
- * offset - If 'offset' is not NULL, then it points to a variable
- * holding the file offset from which sendfile() will start
- * reading data from 'infd'. When sendfile() returns, this
- * variable will be set to the offset of the byte following
- * the last byte that was read. If 'offset' is not NULL,
- * then sendfile() does not modify the current file offset of
- * 'infd'; otherwise the current file offset is adjusted to
- * reflect the number of bytes read from 'infd.'
- *
- * If 'offset' is NULL, then data will be read from 'infd'
- * starting at the current file offset, and the file offset
- * will be updated by the call.
- * count - The number of bytes to copy between the file descriptors.
- *
- * Returned Value:
- * If the transfer was successful, the number of bytes written to outfd is
- * returned. On error, -1 is returned, and errno is set appropriately.
- * There error values are those returned by read() or write() plus:
- *
- * EINVAL - Bad input parameters.
- * ENOMEM - Could not allocated an I/O buffer
- *
- ************************************************************************/
-
-ssize_t sendfile(int outfd, int infd, off_t *offset, size_t count)
-{
- FAR uint8_t *iobuffer;
- FAR uint8_t *wrbuffer;
- off_t startpos = 0;
- ssize_t nbytesread;
- ssize_t nbyteswritten;
- size_t ntransferred;
- bool endxfr;
-
- /* Get the current file position. */
-
- if (offset)
- {
- /* Use lseek to get the current file position */
-
- startpos = lseek(infd, 0, SEEK_CUR);
- if (startpos == (off_t)-1)
- {
- return ERROR;
- }
-
- /* Use lseek again to set the new file position */
-
- if (lseek(infd, *offset, SEEK_SET) == (off_t)-1)
- {
- return ERROR;
- }
- }
-
- /* Allocate an I/O buffer */
-
- iobuffer = (FAR void *)malloc(CONFIG_LIB_SENDFILE_BUFSIZE);
- if (!iobuffer)
- {
- set_errno(ENOMEM);
- return ERROR;
- }
-
- /* Now transfer 'count' bytes from the infd to the outfd */
-
- for (ntransferred = 0, endxfr = false; ntransferred < count && !endxfr; )
- {
- /* Loop until the read side of the transfer comes to some conclusion */
-
- do
- {
- /* Read a buffer of data from the infd */
-
- nbytesread = read(infd, iobuffer, CONFIG_LIB_SENDFILE_BUFSIZE);
-
- /* Check for end of file */
-
- if (nbytesread == 0)
- {
- /* End of file. Break out and return current number of bytes
- * transferred.
- */
-
- endxfr = true;
- break;
- }
-
- /* Check for a read ERROR. EINTR is a special case. This function
- * should break out and return an error if EINTR is returned and
- * no data has been transferred. But what should it do if some
- * data has been transferred? I suppose just continue?
- */
-
- else if (nbytesread < 0)
- {
- /* EINTR is not an error (but will still stop the copy) */
-
-#ifndef CONFIG_DISABLE_SIGNALS
- if (errno != EINTR || ntransferred == 0)
-#endif
- {
- /* Read error. Break out and return the error condition. */
-
- ntransferred = ERROR;
- endxfr = true;
- break;
- }
- }
- }
- while (nbytesread < 0);
-
- /* Was anything read? */
-
- if (!endxfr)
- {
- /* Yes.. Loop until the read side of the transfer comes to some
- * conclusion.
- */
-
- wrbuffer = iobuffer;
- do
- {
- /* Write the buffer of data to the outfd */
-
- nbyteswritten = write(outfd, wrbuffer, nbytesread);
-
- /* Check for a complete (or parial) write. write() should not
- * return zero.
- */
-
- if (nbyteswritten >= 0)
- {
- /* Advance the buffer pointer and decrement the number of bytes
- * remaining in the iobuffer. Typically, nbytesread will now
- * be zero.
- */
-
- wrbuffer += nbyteswritten;
- nbytesread -= nbyteswritten;
-
- /* Increment the total number of bytes successfully transferred. */
-
- ntransferred += nbyteswritten;
- }
-
- /* Otherwise an error occurred */
-
- else
- {
- /* Check for a read ERROR. EINTR is a special case. This
- * function should break out and return an error if EINTR
- * is returned and no data has been transferred. But what
- * should it do if some data has been transferred? I
- * suppose just continue?
- */
-
-#ifndef CONFIG_DISABLE_SIGNALS
- if (errno != EINTR || ntransferred == 0)
-#endif
- {
- /* Write error. Break out and return the error condition */
-
- ntransferred = ERROR;
- endxfr = true;
- break;
- }
- }
- }
- while (nbytesread > 0);
- }
- }
-
- /* Release the I/O buffer */
-
- free(iobuffer);
-
- /* Return the current file position */
-
- if (offset)
- {
- /* Use lseek to get the current file position */
-
- off_t curpos = lseek(infd, 0, SEEK_CUR);
- if (curpos == (off_t)-1)
- {
- return ERROR;
- }
-
- /* Return the current file position */
-
- *offset = curpos;
-
- /* Use lseek again to restore the original file position */
-
- if (lseek(infd, startpos, SEEK_SET) == (off_t)-1)
- {
- return ERROR;
- }
- }
-
- /* Finally return the number of bytes actually transferred (or ERROR
- * if any failure occurred).
- */
-
- return ntransferred;
-}
-
-#endif /* CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0 */
diff --git a/nuttx/lib/misc/lib_streamsem.c b/nuttx/lib/misc/lib_streamsem.c
deleted file mode 100644
index fdf494e75..000000000
--- a/nuttx/lib/misc/lib_streamsem.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/************************************************************************
- * lib/misc/lib_streamsem.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <semaphore.h>
-#include <errno.h>
-#include <nuttx/fs/fs.h>
-
-#include "lib_internal.h"
-
-/************************************************************************
- * Private types
- ************************************************************************/
-
-/************************************************************************
- * Private Variables
- ************************************************************************/
-
-/************************************************************************
- * Public Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Functions
- ************************************************************************/
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-void stream_semtake(FAR struct streamlist *list)
-{
- /* Take the semaphore (perhaps waiting) */
-
- while (sem_wait(&list->sl_sem) != 0)
- {
- /* The only case that an error should occr here is if
- * the wait was awakened by a signal.
- */
-
- ASSERT(get_errno() == EINTR);
- }
-}
-
-void stream_semgive(FAR struct streamlist *list)
-{
- sem_post(&list->sl_sem);
-}
-
-
diff --git a/nuttx/lib/mqueue/Make.defs b/nuttx/lib/mqueue/Make.defs
deleted file mode 100644
index 40dc6c13e..000000000
--- a/nuttx/lib/mqueue/Make.defs
+++ /dev/null
@@ -1,48 +0,0 @@
-############################################################################
-# lib/mqueue/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-ifneq ($(CONFIG_DISABLE_MQUEUE),y)
-
-# Add the mqueue C files to the build
-
-CSRCS += mq_setattr.c mq_getattr.c
-
-# Add the mqueue directory to the build
-
-DEPPATH += --dep-path mqueue
-VPATH += :mqueue
-
-endif
-
diff --git a/nuttx/lib/mqueue/mq_getattr.c b/nuttx/lib/mqueue/mq_getattr.c
deleted file mode 100644
index 9c9f47fdc..000000000
--- a/nuttx/lib/mqueue/mq_getattr.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/************************************************************************
- * lib/mqueue/mq_getattr.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <mqueue.h>
-#include <nuttx/mqueue.h>
-
-/************************************************************************
- * Definitions
- ************************************************************************/
-
-/************************************************************************
- * Private Type Declarations
- ************************************************************************/
-
-/************************************************************************
- * Global Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Functions
- ************************************************************************/
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-/************************************************************************
- * Function: mq_getattr
- *
- * Description:
- * This functions gets status information and attributes
- * associated with the specified message queue.
- *
- * Parameters:
- * mqdes - Message queue descriptor
- * mq_stat - Buffer in which to return attributes
- *
- * Return Value:
- * 0 (OK) if attributes provided, -1 (ERROR) otherwise.
- *
- * Assumptions:
- *
- ************************************************************************/
-
-int mq_getattr(mqd_t mqdes, struct mq_attr *mq_stat)
-{
- int ret = ERROR;
-
- if (mqdes && mq_stat)
- {
- /* Return the attributes */
-
- mq_stat->mq_maxmsg = mqdes->msgq->maxmsgs;
- mq_stat->mq_msgsize = mqdes->msgq->maxmsgsize;
- mq_stat->mq_flags = mqdes->oflags;
- mq_stat->mq_curmsgs = mqdes->msgq->nmsgs;
-
- ret = OK;
- }
-
- return ret;
-}
diff --git a/nuttx/lib/mqueue/mq_setattr.c b/nuttx/lib/mqueue/mq_setattr.c
deleted file mode 100644
index 1276d64e8..000000000
--- a/nuttx/lib/mqueue/mq_setattr.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/************************************************************************
- * lib/mqueue/mq_setattr.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <fcntl.h> /* O_NONBLOCK */
-#include <mqueue.h>
-
-#include <nuttx/mqueue.h>
-
-/************************************************************************
- * Definitions
- ************************************************************************/
-
-/************************************************************************
- * Private Type Declarations
- ************************************************************************/
-
-/************************************************************************
- * Global Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Functions
- ************************************************************************/
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-/************************************************************************
- * Function: mq_setattr
- *
- * Description:
- * This function sets the attributes associated with the
- * specified message queue "mqdes." Only the "O_NONBLOCK"
- * bit of the "mq_flags" can be changed.
- *
- * If "oldstat" is non-null, mq_setattr() will store the
- * previous message queue attributes at that location (just
- * as would have been returned by mq_getattr()).
- *
- * Parameters:
- * mqdes - Message queue descriptor
- * mq_stat - New attributes
- * oldstate - Old attributes
- *
- * Return Value:
- * 0 (OK) if attributes are set successfully, otherwise
- * -1 (ERROR).
- *
- * Assumptions:
- *
- ************************************************************************/
-
-int mq_setattr(mqd_t mqdes, const struct mq_attr *mq_stat,
- struct mq_attr *oldstat)
-{
- int ret = ERROR;
-
- if (mqdes && mq_stat)
- {
- /* Return the attributes if so requested */
-
- if (oldstat)
- {
- (void)mq_getattr(mqdes, oldstat);
- }
-
- /* Set the new value of the O_NONBLOCK flag. */
-
- mqdes->oflags = ((mq_stat->mq_flags & O_NONBLOCK) |
- (mqdes->oflags & (~O_NONBLOCK)));
- ret = OK;
- }
-
- return ret;
-}
diff --git a/nuttx/lib/net/Make.defs b/nuttx/lib/net/Make.defs
deleted file mode 100644
index ae041bd2c..000000000
--- a/nuttx/lib/net/Make.defs
+++ /dev/null
@@ -1,44 +0,0 @@
-############################################################################
-# lib/net/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the networking C files to the build
-
-CSRCS += lib_etherntoa.c lib_htons.c lib_htonl.c lib_inetaddr.c
-CSRCS += lib_inetntoa.c lib_inetntop.c lib_inetpton.c
-
-# Add the net directory to the build
-
-DEPPATH += --dep-path net
-VPATH += :net
diff --git a/nuttx/lib/net/lib_etherntoa.c b/nuttx/lib/net/lib_etherntoa.c
deleted file mode 100644
index f89f205a2..000000000
--- a/nuttx/lib/net/lib_etherntoa.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
- * lib/net/lib_etherntoa.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <stdio.h>
-
-#include <net/ethernet.h>
-#include <netinet/ether.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: ether_ntoa
- *
- * Description:
- * The ether_ntoa() function converts the Ethernet host address addr given
- * in network byte order to a string in standard hex-digits-and-colons
- * notation. The string is returned in a statically allocated buffer, which
- * subsequent calls will overwrite.
- *
- ****************************************************************************/
-
-FAR char *ether_ntoa(FAR const struct ether_addr *addr)
-{
- static char buffer[20];
- sprintf(buffer, "%02x:%02x:%02x:%02x:%02x:%02x",
- addr->ether_addr_octet[0], addr->ether_addr_octet[1],
- addr->ether_addr_octet[2], addr->ether_addr_octet[3],
- addr->ether_addr_octet[4], addr->ether_addr_octet[5]);
- return buffer;
-}
diff --git a/nuttx/lib/net/lib_htonl.c b/nuttx/lib/net/lib_htonl.c
deleted file mode 100644
index e4c3e5383..000000000
--- a/nuttx/lib/net/lib_htonl.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/************************************************************
- * lib/net/lib_ntohl.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <arpa/inet.h>
-
-/************************************************************
- * Global Functions
- ************************************************************/
-
-uint32_t htonl(uint32_t hl)
-{
-#ifdef CONFIG_ENDIAN_BIG
- return hl;
-#else
- return (( (hl) >> 24) |
- (((hl) >> 8) & 0x0000ff00) |
- (((hl) << 8) & 0x00ff0000) |
- ( (hl) << 24));
-#endif
-}
-
-uint32_t ntohl(uint32_t nl)
-{
-#ifdef CONFIG_ENDIAN_BIG
- return nl;
-#else
- return htonl(nl);
-#endif
-}
diff --git a/nuttx/lib/net/lib_htons.c b/nuttx/lib/net/lib_htons.c
deleted file mode 100644
index b4117e1dc..000000000
--- a/nuttx/lib/net/lib_htons.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/***************************************************************************
- * lib/net/lib_htons.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ***************************************************************************/
-
-/***************************************************************************
- * Compilation Switches
- ***************************************************************************/
-
-/***************************************************************************
- * Included Files
- ***************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <arpa/inet.h>
-
-/***************************************************************************
- * Global Functions
- ***************************************************************************/
-
-uint16_t htons(uint16_t hs)
-{
- return HTONS(hs);
-}
-
-uint16_t ntohs(uint16_t ns)
-{
-#ifdef CONFIG_ENDIAN_BIG
- return ns;
-#else
- return htons(ns);
-#endif
-}
diff --git a/nuttx/lib/net/lib_inetaddr.c b/nuttx/lib/net/lib_inetaddr.c
deleted file mode 100644
index 48b01d682..000000000
--- a/nuttx/lib/net/lib_inetaddr.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
- * lib/net/lib_inetaddr.c
- *
- * Copyright (C) 2011 Yu Qiang. All rights reserved.
- * Author: Yu Qiang <yuq825@gmail.com>
- *
- * This file is a part of NuttX:
- *
- * Copyright (C) 2011 Gregory Nutt. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include <arpa/inet.h>
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * name inet_addr
- *
- * Description:
- * The inet_addr() function converts the string pointed to by cp, in the
- * standard IPv4 dotted decimal notation, to an integer value suitable for
- * use as an Internet address.
-
- ****************************************************************************/
-
-in_addr_t inet_addr(FAR const char *cp)
-{
- unsigned int a, b, c, d;
- uint32_t result;
-
- sscanf(cp, "%u.%u.%u.%u", &a, &b, &c, &d);
- result = a << 8;
- result |= b;
- result <<= 8;
- result |= c;
- result <<= 8;
- result |= d;
- return HTONL(result);
-}
diff --git a/nuttx/lib/net/lib_inetntoa.c b/nuttx/lib/net/lib_inetntoa.c
deleted file mode 100644
index 0f4fb61df..000000000
--- a/nuttx/lib/net/lib_inetntoa.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
- * lib/net/lib_inetntoa.c
- *
- * Copyright (C) 2007-2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <stdio.h>
-#include <arpa/inet.h>
-
-#ifndef CONFIG_NET_IPv6
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: inet_ntoa
- *
- * Description:
- * The inet_ntoa() function converts the Internet host address in given in
- * network byte order to a string in standard numbers-and-dots notation.
- * The string is returned in a statically allocated buffer, which subsequent
- * calls will overwrite.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_CAN_PASS_STRUCTS
-FAR char *inet_ntoa(struct in_addr in)
-{
- static char buffer[INET_ADDRSTRLEN+2];
- FAR char *ptr = (FAR char*)&in.s_addr;
- sprintf(buffer, "%d.%d.%d.%d", ptr[0], ptr[1], ptr[2], ptr[3]);
- return buffer;
-}
-#else
-FAR char *_inet_ntoa(in_addr_t in)
-{
- static char buffer[INET_ADDRSTRLEN+2];
- FAR char *ptr = (FAR char*)&in;
- sprintf(buffer, "%d.%d.%d.%d", ptr[0], ptr[1], ptr[2], ptr[3]);
- return buffer;
-}
-#endif
-#endif /* !CONFIG_NET_IPv6 */
-
diff --git a/nuttx/lib/net/lib_inetntop.c b/nuttx/lib/net/lib_inetntop.c
deleted file mode 100644
index dc6a2d0d7..000000000
--- a/nuttx/lib/net/lib_inetntop.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/****************************************************************************
- * lib/net/lib_inetntop.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Includes some logic extracted from hwport_ftpd, written by Jaehyuk Cho
- * <minzkn@minzkn.com> which was released under the BSD license.
- *
- * Copyright (C) HWPORT.COM. All rights reserved.
- * Author: JAEHYUK CHO <mailto:minzkn@minzkn.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/socket.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
-#include <arpa/inet.h>
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: inet_ntop
- *
- * Description:
- * The inet_ntop() function converts a numeric address into a text string
- * suitable for presentation.
- *
- * Input Parameters:
- * af - The af argument specifies the family of the address. This can be
- * AF_INET or AF_INET6.
- * src - The src argument points to a buffer holding an address of the
- * specified type. The address must be in network byte order.
- * dst - The dst argument points to a buffer where the function stores
- * the resulting text string; it shall not be NULL.
- * size - The size argument specifies the size of this buffer, which must
- * be large enough to hold the text string (INET_ADDRSTRLEN
- * characters for IPv4, INET6_ADDRSTRLEN characters for IPv6).
- *
- * Returned Value:
- * inet_ntop() returns a pointer to the buffer containing the text string
- * if the conversion succeeds. Otherwise, NULL is returned and the errno
- * is set to indicate the error. There follow errno values may be set:
- *
- * EAFNOSUPPORT - The af argument is invalid.
- * ENOSPC - The size of the inet_ntop() result buffer is inadequate
- *
- ****************************************************************************/
-
-FAR const char *inet_ntop(int af, FAR const void *src, FAR char *dst, socklen_t size)
-{
- int errval;
-#ifndef CONFIG_NET_IPv6
- FAR char *ptr;
-
- DEBUGASSERT(src && dst);
-
- if (af != AF_INET)
- {
- errval = EAFNOSUPPORT;
- goto errout;
- }
-
- if (size < INET_ADDRSTRLEN)
- {
- errval = ENOSPC;
- goto errout;
- }
-
- ptr = (FAR char*)src;
- sprintf(dst, "%d.%d.%d.%d", ptr[0], ptr[1], ptr[2], ptr[3]);
- return dst;
-#else
- FAR const struct in6_addr *in6_addr;
- uint16_t warray[8];
- int offset;
- int entry;
- int count;
- int maxentry;
- int maxcount;
-
- DEBUGASSERT(src && dst);
-
- if (af != AF_INET6)
- {
- errval = EAFNOSUPPORT;
- goto errout;
- }
-
- if (size < INET6_ADDRSTRLEN)
- {
- errval = ENOSPC;
- goto errout;
- }
-
- in6_addr = (FAR const struct in6_addr *)src;
- entry = -1;
- maxentry = -1;
- maxcount = 0;
- offset = 0;
-
- while (offset < 8)
- {
- warray[offset] = ntohs(in6_addr->s6_addr16[offset]);
- if (warray[offset] == 0)
- {
- entry = offset;
- count = 1;
- offset++;
-
- while (offset < 8)
- {
- warray[offset] = ntohs(in6_addr->s6_addr16[offset]);
- if (warray[offset] != 0)
- {
- break;
- }
- offset++;
- count++;
- }
-
- if (count > maxcount)
- {
- maxentry = entry;
- maxcount = count;
- }
- }
- offset++;
- }
-
- offset = 0;
- dst[0] = '\0';
-
- while (offset < 8)
- {
- if (offset == maxentry)
- {
- size -= snprintf(&dst[strlen(dst)], size, ":");
- offset += maxcount;
- if (offset >= 8)
- {
- size -= snprintf(&dst[strlen(dst)], size, ":");
- }
- }
- else
- {
- if (offset > 0)
- {
- size -= snprintf(&dst[strlen(dst)], size, ":");
- }
-
- size -= snprintf(&dst[strlen(dst)], size, "%x", warray[offset]);
- offset++;
- }
- }
-
- return dst;
-#endif
-
-errout:
- set_errno(errval);
- memset(dst, 0, size);
- return NULL;
-}
diff --git a/nuttx/lib/net/lib_inetpton.c b/nuttx/lib/net/lib_inetpton.c
deleted file mode 100644
index 5371cd3f2..000000000
--- a/nuttx/lib/net/lib_inetpton.c
+++ /dev/null
@@ -1,338 +0,0 @@
-/****************************************************************************
- * lib/net/lib_inetpton.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Includes some logic extracted from hwport_ftpd, written by Jaehyuk Cho
- * <minzkn@minzkn.com> which was released under the BSD license.
- *
- * Copyright (C) HWPORT.COM. All rights reserved.
- * Author: JAEHYUK CHO <mailto:minzkn@minzkn.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/socket.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-#include <arpa/inet.h>
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: inet_pton
- *
- * Description:
- * The inet_pton() function converts an address in its standard text
- * presentation form into its numeric binary form.
- *
- * If the af argument of inet_pton() is AF_INET, the src string will be
- * in the standard IPv4 dotted-decimal form:
- *
- * ddd.ddd.ddd.ddd
- *
- * where "ddd" is a one to three digit decimal number between 0 and 255.
- *
- * If the af argument of inet_pton() is AF_INET6, the src string will be in
- * one of the following standard IPv6 text forms:
- *
- * 1. The preferred form is "x:x:x:x:x:x:x:x", where the 'x' s are the
- * hexadecimal values of the eight 16-bit pieces of the address. Leading
- * zeros in individual fields can be omitted, but there must be at least
- * one numeral in every field.
- *
- * 2. A string of contiguous zero fields in the preferred form can be shown
- * as "::". The "::" can only appear once in an address. Unspecified
- * addresses ( "0:0:0:0:0:0:0:0" ) may be represented simply as "::".
- *
- * 3. A third form that is sometimes more convenient when dealing with a
- * mixed environment of IPv4 and IPv6 nodes is "x:x:x:x:x:x:d.d.d.d",
- * where the 'x' s are the hexadecimal values of the six high-order
- * 16-bit pieces of the address, and the 'd' s are the decimal values
- * of the four low-order 8-bit pieces of the address (standard IPv4
- * representation).
- *
- * Input Parameters:
- * af - The af argument specifies the family of the address. This can be
- * AF_INET or AF_INET6.
- * src - The src argument points to the string being passed in.
- * dst - The dst argument points to a numstr into which the function stores
- * the numeric address; this must be large enough to hold the numeric
- * address (32 bits for AF_INET, 128 bits for AF_INET6).
- *
- * Returned Value:
- * The inet_pton() function returns 1 if the conversion succeeds, with the
- * address pointed to by dst in network byte order. It will return 0 if the
- * input is not a valid IPv4 dotted-decimal string or a valid IPv6 address
- * string, or -1 with errno set to EAFNOSUPPOR] if the af argument is unknown.
- *
- ****************************************************************************/
-
-int inet_pton(int af, FAR const char *src, FAR void *dst)
-{
-#ifndef CONFIG_NET_IPv6
- size_t srcoffset;
- size_t numoffset;
- int value;
- int ndots;
- uint8_t ch;
- char numstr[4];
- uint8_t *ip;
-
- DEBUGASSERT(src && dst);
-
- if (af != AF_INET)
- {
- set_errno(EAFNOSUPPORT);
- return -1;
- }
-
- (void)memset(dst, 0, sizeof(struct in_addr));
-
- ip = (uint8_t *)dst;
- srcoffset = 0;
- numoffset = 0;
- ndots = 0;
-
- for(;;)
- {
- ch = (uint8_t)src[srcoffset++];
-
- if (ch == '.' || ch == '\0')
- {
- if (ch == '.' && ndots >= 4)
- {
- /* Too many dots */
-
- break;
- }
-
- if (numoffset <= 0)
- {
- /* Empty numeric string */
-
- break;
- }
-
- numstr[numoffset] = '\0';
- numoffset = 0;
-
- value = atoi(numstr);
- if (value < 0 || value > 255)
- {
- /* Out of range value */
-
- break;
- }
-
- ip[ndots] = (uint8_t)value;
-
- if (ch == '\0')
- {
- if (ndots != 3)
- {
- /* Not enough dots */
-
- break;
- }
-
- /* Return 1 if the conversion succeeds */
-
- return 1;
- }
-
- ndots++;
- }
- else if (ch >= '0' && ch <= '9')
- {
- numstr[numoffset++] = ch;
- if (numoffset >= 4)
- {
- /* Number is too long */
-
- break;
- }
- }
- else
- {
- /* Illegal character */
-
- break;
- }
- }
-
- /* Return zero if there is any problem parsing the input */
-
- return 0;
-#else
- size_t srcoffset;
- size_t numoffset;
- long value;
- int nsep;
- int nrsep;
- uint8_t ch;
- char numstr[5];
- uint8_t ip[sizeof(struct in6_addr)];
- uint8_t rip[sizeof(struct in6_addr)];
- bool rtime;
-
- DEBUGASSERT(src && dst);
-
- if (af != AF_INET6)
- {
- set_errno(EAFNOSUPPORT);
- return -1;
- }
-
- (void)memset(dst, 0, sizeof(struct in6_addr));
-
- srcoffset = 0;
- numoffset = 0;
- nsep = 0;
- nrsep = 0;
- rtime = false;
-
- for(;;)
- {
- ch = (uint8_t)src[srcoffset++];
-
- if (ch == ':' || ch == '\0')
- {
- if (ch == ':' && (nsep + nrsep) >= 8)
- {
- /* Too many separators */
-
- break;
- }
-
- if (ch != '\0' && numoffset <= 0)
- {
- /* Empty numeric string */
-
- if (rtime && nrsep > 1)
- {
- /* dup simple */
-
- break;
- }
-
- numoffset = 0;
- rtime = true;
- continue;
- }
-
- numstr[numoffset] = '\0';
- numoffset = 0;
-
- value = strtol(numstr, NULL, 16);
- if (value < 0 || value > 0xffff)
- {
- /* Out of range value */
-
- break;
- }
-
- if (!rtime)
- {
- ip[(nsep << 1) + 0] = (uint8_t)((value >> 8) & 0xff);
- ip[(nsep << 1) + 1] = (uint8_t)((value >> 0) & 0xff);
- nsep++;
- }
- else
- {
- rip[(nrsep << 1) + 0] = (uint8_t)((value >> 8) & 0xff);
- rip[(nrsep << 1) + 1] = (uint8_t)((value >> 0) & 0xff);
- nrsep++;
- }
-
- if (ch == '\0' /* || ch == '/' */)
- {
- if ((nsep <= 1 && nrsep <= 0) ||
- (nsep + nrsep) < 1 ||
- (nsep + nrsep) > 8)
- {
- /* Separator count problem */
-
- break;
- }
-
- if (nsep > 0)
- {
- memcpy(dst, &ip[0], nsep << 1);
- }
-
- if (nrsep > 0)
- {
- memcpy(dst + (16 - (nrsep << 1)), &rip[0], nrsep << 1);
- }
-
- /* Return 1 if the conversion succeeds */
-
- return 1;
- }
- }
- else if ((ch >= '0' && ch <= '9') ||
- (ch >= 'a' && ch <= 'f') ||
- (ch >= 'A' && ch <= 'F'))
- {
- numstr[numoffset++] = ch;
- if (numoffset >= 5)
- {
- /* Numeric string is too long */
-
- break;
- }
- }
- else
- {
- /* Illegal character */
-
- break;
- }
- }
-
-
- /* Return zero if there is any problem parsing the input */
-
- return 0;
-#endif
-}
diff --git a/nuttx/lib/pthread/Make.defs b/nuttx/lib/pthread/Make.defs
deleted file mode 100644
index a1eba7bb0..000000000
--- a/nuttx/lib/pthread/Make.defs
+++ /dev/null
@@ -1,56 +0,0 @@
-############################################################################
-# lib/pthread/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the pthread C files to the build
-
-CSRCS += pthread_attrinit.c pthread_attrdestroy.c \
- pthread_attrsetschedpolicy.c pthread_attrgetschedpolicy.c \
- pthread_attrsetinheritsched.c pthread_attrgetinheritsched.c \
- pthread_attrsetstacksize.c pthread_attrgetstacksize.c \
- pthread_attrsetschedparam.c pthread_attrgetschedparam.c \
- pthread_barrierattrinit.c pthread_barrierattrdestroy.c \
- pthread_barrierattrgetpshared.c pthread_barrierattrsetpshared.c \
- pthread_condattrinit.c pthread_condattrdestroy.c \
- pthread_mutexattrinit.c pthread_mutexattrdestroy.c \
- pthread_mutexattrgetpshared.c pthread_mutexattrsetpshared.c
-
-ifeq ($(CONFIG_MUTEX_TYPES),y)
-CSRCS += pthread_mutexattrsettype.c pthread_mutexattrgettype.c
-endif
-
-# Add the pthread directory to the build
-
-DEPPATH += --dep-path pthread
-VPATH += :pthread
diff --git a/nuttx/lib/pthread/pthread_attrdestroy.c b/nuttx/lib/pthread/pthread_attrdestroy.c
deleted file mode 100644
index 103528c7e..000000000
--- a/nuttx/lib/pthread/pthread_attrdestroy.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrdestroy.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <string.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_destroy
- *
- * Description:
- * An attributes object can be deleted when it is no longer
- * needed.
- *
- * Parameters:
- * attr
- *
- * Return Value:
- * 0 meaning success
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_destroy(FAR pthread_attr_t *attr)
-{
- int ret;
-
- sdbg("attr=0x%p\n", attr);
-
- if (!attr)
- {
- ret = EINVAL;
- }
- else
- {
- memset(attr, 0, sizeof(pthread_attr_t));
- ret = OK;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
-
diff --git a/nuttx/lib/pthread/pthread_attrgetinheritsched.c b/nuttx/lib/pthread/pthread_attrgetinheritsched.c
deleted file mode 100644
index 02d6e0b7c..000000000
--- a/nuttx/lib/pthread/pthread_attrgetinheritsched.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrgetinheritsched.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <string.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_getinheritsched
- *
- * Description:
- * Report whether the scheduling info in the pthread
- * attributes will be used or if the thread will
- * inherit the properties of the parent.
- *
- * Parameters:
- * attr
- * inheritsched
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_getinheritsched(FAR const pthread_attr_t *attr,
- FAR int *inheritsched)
-{
- int ret;
-
- sdbg("attr=0x%p inheritsched=0x%p\n", attr, inheritsched);
-
- if (!attr || !inheritsched)
- {
- ret = EINVAL;
- }
- else
- {
- *inheritsched = (int)attr->inheritsched;
- ret = OK;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
-
diff --git a/nuttx/lib/pthread/pthread_attrgetschedparam.c b/nuttx/lib/pthread/pthread_attrgetschedparam.c
deleted file mode 100644
index c6bf55dea..000000000
--- a/nuttx/lib/pthread/pthread_attrgetschedparam.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrgetschedparam.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <string.h>
-#include <sched.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_getschedparam
- *
- * Description:
- *
- * Parameters:
- * attr
- * param
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_getschedparam(FAR pthread_attr_t *attr,
- FAR struct sched_param *param)
-{
- int ret;
-
- sdbg("attr=0x%p param=0x%p\n", attr, param);
-
- if (!attr || !param)
- {
- ret = EINVAL;
- }
- else
- {
- param->sched_priority = attr->priority;
- ret = OK;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
-
-
diff --git a/nuttx/lib/pthread/pthread_attrgetschedpolicy.c b/nuttx/lib/pthread/pthread_attrgetschedpolicy.c
deleted file mode 100644
index c42b828c9..000000000
--- a/nuttx/lib/pthread/pthread_attrgetschedpolicy.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrgetschedpolicy.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <sys/types.h>
-#include <pthread.h>
-#include <string.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_getschedpolicy
- *
- * Description:
- * Obtain the scheduling algorithm attribute.
- *
- * Parameters:
- * attr
- * policy
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_getschedpolicy(FAR pthread_attr_t *attr, int *policy)
-{
- int ret;
-
- sdbg("attr=0x%p policy=0x%p\n", attr, policy);
-
- if (!attr || !policy)
- {
- ret = EINVAL;
- }
- else
- {
- *policy = attr->policy;
- ret = OK;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_attrgetstacksize.c b/nuttx/lib/pthread/pthread_attrgetstacksize.c
deleted file mode 100644
index 2faa586ba..000000000
--- a/nuttx/lib/pthread/pthread_attrgetstacksize.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrgetstacksize.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <sys/types.h>
-#include <pthread.h>
-#include <string.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_getstacksize
- *
- * Description:
- *
- * Parameters:
- * attr
- * stacksize
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_getstacksize(FAR pthread_attr_t *attr, FAR long *stacksize)
-{
- int ret;
-
- sdbg("attr=0x%p stacksize=0x%p\n", attr, stacksize);
-
- if (!stacksize)
- {
- ret = EINVAL;
- }
- else
- {
- *stacksize = attr->stacksize;
- ret = OK;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
-
diff --git a/nuttx/lib/pthread/pthread_attrinit.c b/nuttx/lib/pthread/pthread_attrinit.c
deleted file mode 100644
index d06a535d7..000000000
--- a/nuttx/lib/pthread/pthread_attrinit.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrinit.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <string.h>
-#include <debug.h>
-#include <errno.h>
-
-#include <nuttx/pthread.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/* Default pthread attributes (see included/nuttx/pthread.h). When configured
- * to build separate kernel- and user-address spaces, this global is
- * duplicated in each address spaced. This copy can only be shared within
- * the user address space.
- */
-
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
-pthread_attr_t g_default_pthread_attr = PTHREAD_ATTR_INITIALIZER;
-#endif
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_init
- *
- * Description:
- * Initializes a thread attributes object (attr) with
- * default values for all of the individual attributes
- * used by a given implementation.
- *
- * Parameters:
- * attr
- *
- * Return Value:
- * 0 on success, otherwise an error number
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_init(FAR pthread_attr_t *attr)
-{
- int ret = OK;
-
- sdbg("attr=0x%p\n", attr);
- if (!attr)
- {
- ret = ENOMEM;
- }
- else
- {
- /* Set the child thread priority to be the default
- * priority. Set the child stack size to some arbitrary
- * default value.
- */
-
- memcpy(attr, &g_default_pthread_attr, sizeof(pthread_attr_t));
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
diff --git a/nuttx/lib/pthread/pthread_attrsetinheritsched.c b/nuttx/lib/pthread/pthread_attrsetinheritsched.c
deleted file mode 100644
index df2c2fba3..000000000
--- a/nuttx/lib/pthread/pthread_attrsetinheritsched.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrsetinheritsched.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <pthread.h>
-#include <string.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_setinheritsched
- *
- * Description:
- * Indicate whether the scheduling info in the pthread
- * attributes will be used or if the thread will
- * inherit the properties of the parent.
- *
- * Parameters:
- * attr
- * policy
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_setinheritsched(FAR pthread_attr_t *attr,
- int inheritsched)
-{
- int ret;
-
- sdbg("inheritsched=%d\n", inheritsched);
-
- if (!attr ||
- (inheritsched != PTHREAD_INHERIT_SCHED &&
- inheritsched != PTHREAD_EXPLICIT_SCHED))
- {
- ret = EINVAL;
- }
- else
- {
- attr->inheritsched = (uint8_t)inheritsched;
- ret = OK;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
diff --git a/nuttx/lib/pthread/pthread_attrsetschedparam.c b/nuttx/lib/pthread/pthread_attrsetschedparam.c
deleted file mode 100644
index c2ab4d1c4..000000000
--- a/nuttx/lib/pthread/pthread_attrsetschedparam.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrsetschedparam.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <string.h>
-#include <sched.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_setschedparam
- *
- * Description:
- *
- * Parameters:
- * attr
- * param
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_setschedparam(FAR pthread_attr_t *attr,
- FAR const struct sched_param *param)
-{
- int ret;
-
- sdbg("attr=0x%p param=0x%p\n", attr, param);
-
- if (!attr || !param)
- {
- ret = EINVAL;
- }
- else
- {
- attr->priority = (short)param->sched_priority;
- ret = OK;
- }
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
-
diff --git a/nuttx/lib/pthread/pthread_attrsetschedpolicy.c b/nuttx/lib/pthread/pthread_attrsetschedpolicy.c
deleted file mode 100644
index 4e43e635d..000000000
--- a/nuttx/lib/pthread/pthread_attrsetschedpolicy.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrsetschedpolicy.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <string.h>
-#include <sched.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_setschedpolicy
- *
- * Description:
- * Set the scheduling algorithm attribute.
- *
- * Parameters:
- * attr
- * policy
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_setschedpolicy(FAR pthread_attr_t *attr, int policy)
-{
- int ret;
-
- sdbg("attr=0x%p policy=%d\n", attr, policy);
-
-#if CONFIG_RR_INTERVAL > 0
- if (!attr || (policy != SCHED_FIFO && policy != SCHED_RR))
-#else
- if (!attr || policy != SCHED_FIFO )
-#endif
- {
- ret = EINVAL;
- }
- else
- {
- attr->policy = policy;
- ret = OK;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_attrsetstacksize.c b/nuttx/lib/pthread/pthread_attrsetstacksize.c
deleted file mode 100644
index 8a826dd3a..000000000
--- a/nuttx/lib/pthread/pthread_attrsetstacksize.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_attrsetstacksize.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <string.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_attr_setstacksize
- *
- * Description:
- *
- * Parameters:
- * attr
- * stacksize
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_attr_setstacksize(FAR pthread_attr_t *attr, long stacksize)
-{
- int ret;
-
- sdbg("attr=0x%p stacksize=%ld\n", attr, stacksize);
-
- if (!attr || stacksize < PTHREAD_STACK_MIN)
- {
- ret = EINVAL;
- }
- else
- {
- attr->stacksize = stacksize;
- ret = OK;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
diff --git a/nuttx/lib/pthread/pthread_barrierattrdestroy.c b/nuttx/lib/pthread/pthread_barrierattrdestroy.c
deleted file mode 100644
index 6d16b9cff..000000000
--- a/nuttx/lib/pthread/pthread_barrierattrdestroy.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/********************************************************************************
- * lib/pthread/pthread_barrierattrdestroy.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ********************************************************************************/
-
-/********************************************************************************
- * Included Files
- ********************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <errno.h>
-#include <debug.h>
-
-/********************************************************************************
- * Definitions
- ********************************************************************************/
-
-/********************************************************************************
- * Private Type Declarations
- ********************************************************************************/
-
-/********************************************************************************
- * Global Variables
- ********************************************************************************/
-
-/********************************************************************************
- * Private Variables
- ********************************************************************************/
-
-/********************************************************************************
- * Private Function Prototypes
- ********************************************************************************/
-
-/********************************************************************************
- * Public Functions
- ********************************************************************************/
-
-/********************************************************************************
- * Function: pthread_barrierattr_destroy
- *
- * Description:
- * The pthread_barrierattr_destroy() function will destroy a barrier attributes
- * object. A destroyed attr attributes object can be reinitialized using
- * pthread_barrierattr_init(); the results of otherwise referencing the object
- * after it has been destroyed are undefined.
- *
- * Parameters:
- * attr - barrier attributes to be destroyed.
- *
- * Return Value:
- * 0 (OK) on success or EINVAL if attr is invalid.
- *
- * Assumptions:
- *
- ********************************************************************************/
-
-int pthread_barrierattr_destroy(FAR pthread_barrierattr_t *attr)
-{
- int ret = OK;
-
- if (!attr)
- {
- ret = EINVAL;
- }
- else
- {
- attr->pshared = PTHREAD_PROCESS_PRIVATE;
- }
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_barrierattrgetpshared.c b/nuttx/lib/pthread/pthread_barrierattrgetpshared.c
deleted file mode 100644
index d29bc6dfc..000000000
--- a/nuttx/lib/pthread/pthread_barrierattrgetpshared.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/********************************************************************************
- * lib/pthread/pthread_barrierattrgetpshared.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ********************************************************************************/
-
-/********************************************************************************
- * Included Files
- ********************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <errno.h>
-#include <debug.h>
-
-/********************************************************************************
- * Definitions
- ********************************************************************************/
-
-/********************************************************************************
- * Private Type Declarations
- ********************************************************************************/
-
-/********************************************************************************
- * Global Variables
- ********************************************************************************/
-
-/********************************************************************************
- * Private Variables
- ********************************************************************************/
-
-/********************************************************************************
- * Private Function Prototypes
- ********************************************************************************/
-
-/********************************************************************************
- * Public Functions
- ********************************************************************************/
-
-/********************************************************************************
- * Function: pthread_barrierattr_getpshared
- *
- * Description:
- * The pthread_barrierattr_getpshared() function will obtain the value of the
- * process-shared attribute from the attributes object referenced by attr.
- *
- * Parameters:
- * attr - barrier attributes to be queried.
- * pshared - the location to stored the current value of the pshared attribute.
- *
- * Return Value:
- * 0 (OK) on success or EINVAL if either attr or pshared is invalid.
- *
- * Assumptions:
- *
- ********************************************************************************/
-
-int pthread_barrierattr_getpshared(FAR const pthread_barrierattr_t *attr, FAR int *pshared)
-{
- int ret = OK;
-
- if (!attr || !pshared)
- {
- ret = EINVAL;
- }
- else
- {
- *pshared = attr->pshared;
- }
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_barrierattrinit.c b/nuttx/lib/pthread/pthread_barrierattrinit.c
deleted file mode 100644
index b5f35ca91..000000000
--- a/nuttx/lib/pthread/pthread_barrierattrinit.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/********************************************************************************
- * lib/pthread/pthread_barrierattrinit.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ********************************************************************************/
-
-/********************************************************************************
- * Included Files
- ********************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <errno.h>
-#include <debug.h>
-
-/********************************************************************************
- * Definitions
- ********************************************************************************/
-
-/********************************************************************************
- * Private Type Declarations
- ********************************************************************************/
-
-/********************************************************************************
- * Global Variables
- ********************************************************************************/
-
-/********************************************************************************
- * Private Variables
- ********************************************************************************/
-
-/********************************************************************************
- * Private Function Prototypes
- ********************************************************************************/
-
-/********************************************************************************
- * Public Functions
- ********************************************************************************/
-
-/********************************************************************************
- * Function: pthread_barrierattr_init
- *
- * Description:
- * The pthread_barrierattr_init() function will initialize a barrier attribute
- * object attr with the default value for all of the attributes defined by the
- * implementation.
- *
- * Parameters:
- * attr - barrier attributes to be initialized.
- *
- * Return Value:
- * 0 (OK) on success or EINVAL if attr is invalid.
- *
- * Assumptions:
- *
- ********************************************************************************/
-
-int pthread_barrierattr_init(FAR pthread_barrierattr_t *attr)
-{
- int ret = OK;
-
- if (!attr)
- {
- ret = EINVAL;
- }
- else
- {
- attr->pshared = PTHREAD_PROCESS_PRIVATE;
- }
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_barrierattrsetpshared.c b/nuttx/lib/pthread/pthread_barrierattrsetpshared.c
deleted file mode 100644
index d0eecbf5a..000000000
--- a/nuttx/lib/pthread/pthread_barrierattrsetpshared.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/********************************************************************************
- * lib/pthread/pthread_barrierattrsetpshared.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ********************************************************************************/
-
-/********************************************************************************
- * Included Files
- ********************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <errno.h>
-#include <debug.h>
-
-/********************************************************************************
- * Definitions
- ********************************************************************************/
-
-/********************************************************************************
- * Private Type Declarations
- ********************************************************************************/
-
-/********************************************************************************
- * Global Variables
- ********************************************************************************/
-
-/********************************************************************************
- * Private Variables
- ********************************************************************************/
-
-/********************************************************************************
- * Private Function Prototypes
- ********************************************************************************/
-
-/********************************************************************************
- * Public Functions
- ********************************************************************************/
-
-/********************************************************************************
- * Function: pthread_barrierattr_setpshared
- *
- * Description:
- * The process-shared attribute is set to PTHREAD_PROCESS_SHARED to permit a
- * barrier to be operated upon by any thread that has access to the memory where
- * the barrier is allocated. If the process-shared attribute is
- * PTHREAD_PROCESS_PRIVATE, the barrier can only be operated upon by threads
- * created within the same process as the thread that initialized the barrier.
- * If threads of different processes attempt to operate on such a barrier, the
- * behavior is undefined. The default value of the attribute is
- * PTHREAD_PROCESS_PRIVATE.
- *
- * Both constants PTHREAD_PROCESS_SHARED and PTHREAD_PROCESS_PRIVATE are defined
- * in pthread.h.
- *
- * Parameters:
- * attr - barrier attributes to be modified.
- * pshared - the new value of the pshared attribute.
- *
- * Return Value:
- * 0 (OK) on success or EINVAL if either attr is invalid or pshared is not one
- * of PTHREAD_PROCESS_SHARED or PTHREAD_PROCESS_PRIVATE.
- *
- * Assumptions:
- *
- ********************************************************************************/
-
-int pthread_barrierattr_setpshared(FAR pthread_barrierattr_t *attr, int pshared)
-{
- int ret = OK;
-
- if (!attr || (pshared != PTHREAD_PROCESS_SHARED && pshared != PTHREAD_PROCESS_PRIVATE))
- {
- ret = EINVAL;
- }
- else
- {
- attr->pshared = pshared;
- }
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_condattrdestroy.c b/nuttx/lib/pthread/pthread_condattrdestroy.c
deleted file mode 100644
index d6c3df5d1..000000000
--- a/nuttx/lib/pthread/pthread_condattrdestroy.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_condattrdestroy.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_condattr_destroy
- *
- * Description:
- * Operations on condition variable attributes
- *
- * Parameters:
- * None
- *
- * Return Value:
- * None
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_condattr_destroy(FAR pthread_condattr_t *attr)
-{
- int ret = OK;
-
- sdbg("attr=0x%p\n", attr);
-
- if (!attr)
- {
- ret = EINVAL;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
-
-
diff --git a/nuttx/lib/pthread/pthread_condattrinit.c b/nuttx/lib/pthread/pthread_condattrinit.c
deleted file mode 100644
index 5721c6159..000000000
--- a/nuttx/lib/pthread/pthread_condattrinit.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_condattrinit.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <debug.h>
-#include <errno.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_condattr_init
- *
- * Description:
- * Operations on condition variable attributes
- *
- * Parameters:
- * None
- *
- * Return Value:
- * None
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_condattr_init(FAR pthread_condattr_t *attr)
-{
- int ret = OK;
-
- sdbg("attr=0x%p\n", attr);
-
- if (!attr)
- {
- ret = EINVAL;
- }
- else
- {
- *attr = 0;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
-
-
diff --git a/nuttx/lib/pthread/pthread_mutexattrdestroy.c b/nuttx/lib/pthread/pthread_mutexattrdestroy.c
deleted file mode 100644
index e9868df68..000000000
--- a/nuttx/lib/pthread/pthread_mutexattrdestroy.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_mutexattrdestroy.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <errno.h>
-#include <debug.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_mutexattr_destroy
- *
- * Description:
- * Destroy mutex attributes.
- *
- * Parameters:
- * attr
- * pshared
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_mutexattr_destroy(FAR pthread_mutexattr_t *attr)
-{
- int ret = OK;
-
- sdbg("attr=0x%p\n", attr);
-
- if (!attr)
- {
- ret = EINVAL;
- }
- else
- {
- attr->pshared = 0;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_mutexattrgetpshared.c b/nuttx/lib/pthread/pthread_mutexattrgetpshared.c
deleted file mode 100644
index bc6379db5..000000000
--- a/nuttx/lib/pthread/pthread_mutexattrgetpshared.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_mutexattrgetpshared.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <errno.h>
-#include <debug.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_mutexattr_getpshared
- *
- * Description:
- * Get pshared mutex attribute.
- *
- * Parameters:
- * attr
- * pshared
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_mutexattr_getpshared(FAR pthread_mutexattr_t *attr, FAR int *pshared)
-{
- int ret = OK;
-
- sdbg("attr=0x%p pshared=0x%p\n", attr, pshared);
-
- if (!attr || !pshared)
- {
- ret = EINVAL;
- }
- else
- {
- *pshared = attr->pshared;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_mutexattrgettype.c b/nuttx/lib/pthread/pthread_mutexattrgettype.c
deleted file mode 100644
index 5fb10f301..000000000
--- a/nuttx/lib/pthread/pthread_mutexattrgettype.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_mutexattrgettype.c
- *
- * Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <pthread.h>
-#include <errno.h>
-
-#ifdef CONFIG_MUTEX_TYPES
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_mutexattr_gettype
- *
- * Description:
- * Return the mutex type from the mutex attributes.
- *
- * Parameters:
- * attr - The mutex attributes to query
- * type - Location to return the mutex type
- *
- * Return Value:
- * 0, if the mutex type was successfully return in 'type', or
- * EINVAL, if any NULL pointers provided.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_mutexattr_gettype(const pthread_mutexattr_t *attr, int *type)
-{
- if (attr && type)
- {
- *type = attr->type;
- return 0;
- }
- return EINVAL;
-}
-
-#endif /* CONFIG_MUTEX_TYPES */
diff --git a/nuttx/lib/pthread/pthread_mutexattrinit.c b/nuttx/lib/pthread/pthread_mutexattrinit.c
deleted file mode 100644
index f815bf16c..000000000
--- a/nuttx/lib/pthread/pthread_mutexattrinit.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_mutexattrinit.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <errno.h>
-#include <debug.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_mutexattr_init
- *
- * Description:
- * Create mutex attributes.
- *
- * Parameters:
- * attr
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_mutexattr_init(FAR pthread_mutexattr_t *attr)
-{
- int ret = OK;
-
- sdbg("attr=0x%p\n", attr);
-
- if (!attr)
- {
- ret = EINVAL;
- }
- else
- {
- attr->pshared = 0;
-#ifdef CONFIG_MUTEX_TYPES
- attr->type = PTHREAD_MUTEX_DEFAULT;
-#endif
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_mutexattrsetpshared.c b/nuttx/lib/pthread/pthread_mutexattrsetpshared.c
deleted file mode 100644
index 900476fdd..000000000
--- a/nuttx/lib/pthread/pthread_mutexattrsetpshared.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_mutexattrsetpshared.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <pthread.h>
-#include <errno.h>
-#include <debug.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_mutexattr_setpshared
- *
- * Description:
- * Set pshared mutex attribute.
- *
- * Parameters:
- * attr
- * pshared
- *
- * Return Value:
- * 0 if successful. Otherwise, an error code.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_mutexattr_setpshared(FAR pthread_mutexattr_t *attr, int pshared)
-{
- int ret = OK;
-
- sdbg("attr=0x%p pshared=%d\n", attr, pshared);
-
- if (!attr || (pshared != 0 && pshared != 1))
- {
- ret = EINVAL;
- }
- else
- {
- attr->pshared = pshared;
- }
-
- sdbg("Returning %d\n", ret);
- return ret;
-}
diff --git a/nuttx/lib/pthread/pthread_mutexattrsettype.c b/nuttx/lib/pthread/pthread_mutexattrsettype.c
deleted file mode 100644
index 81427c757..000000000
--- a/nuttx/lib/pthread/pthread_mutexattrsettype.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
- * lib/pthread/pthread_mutexattrsettype.c
- *
- * Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <pthread.h>
-#include <errno.h>
-
-#ifdef CONFIG_MUTEX_TYPES
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: pthread_mutexattr_settype
- *
- * Description:
- * Set the mutex type in the mutex attributes.
- *
- * Parameters:
- * attr - The mutex attributes in which to set the mutex type.
- * type - The mutex type value to set.
- *
- * Return Value:
- * 0, if the mutex type was successfully set in 'attr', or
- * EINVAL, if 'attr' is NULL or 'type' unrecognized.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type)
-{
- if (attr && type >= PTHREAD_MUTEX_NORMAL && type <= PTHREAD_MUTEX_RECURSIVE)
- {
- attr->type = type;
- return OK;
- }
- return EINVAL;
-}
-
-#endif /* CONFIG_MUTEX_TYPES */
diff --git a/nuttx/lib/queue/Make.defs b/nuttx/lib/queue/Make.defs
deleted file mode 100644
index 976e7a2b8..000000000
--- a/nuttx/lib/queue/Make.defs
+++ /dev/null
@@ -1,47 +0,0 @@
-############################################################################
-# lib/queue/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the queue C files to the build
-
-CSRCS += sq_addlast.c sq_addfirst.c sq_addafter.c \
- sq_rem.c sq_remlast.c sq_remfirst.c sq_remafter.c
-
-CSRCS += dq_addlast.c dq_addfirst.c dq_addafter.c dq_addbefore.c \
- dq_rem.c dq_remlast.c dq_remfirst.c
-
-# Add the queue directory to the build
-
-DEPPATH += --dep-path queue
-VPATH += :queue
diff --git a/nuttx/lib/queue/dq_addafter.c b/nuttx/lib/queue/dq_addafter.c
deleted file mode 100644
index bfbe0052d..000000000
--- a/nuttx/lib/queue/dq_addafter.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/************************************************************
- * lib/queue/dq_addafter.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: dq_addafter
- *
- * Description:
- * dq_addafter function adds 'node' after 'qqqq' in the
- * 'queue.'
- *
- ************************************************************/
-
-void dq_addafter(FAR dq_entry_t *prev, FAR dq_entry_t *node,
- dq_queue_t *queue)
-{
- if (!queue->head || prev == queue->tail)
- {
- dq_addlast(node, queue);
- }
- else
- {
- FAR dq_entry_t *next = prev->flink;
- node->blink = prev;
- node->flink = next;
- next->blink = node;
- prev->flink = node;
- }
-}
diff --git a/nuttx/lib/queue/dq_addbefore.c b/nuttx/lib/queue/dq_addbefore.c
deleted file mode 100644
index d740ea830..000000000
--- a/nuttx/lib/queue/dq_addbefore.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
- * lib/queue/dq_addbefore.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <queue.h>
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: dq_addbefore
- *
- * Description:
- * dq_addbefore adds 'node' before 'next' in 'queue'
- *
- ****************************************************************************/
-
-void dq_addbefore(FAR dq_entry_t *next, FAR dq_entry_t *node,
- dq_queue_t *queue)
-{
- if (!queue->head || next == queue->head)
- {
- dq_addfirst(node, queue);
- }
- else
- {
- FAR dq_entry_t *prev = next->blink;
- node->flink = next;
- node->blink = prev;
- prev->flink = node;
- next->blink = node;
- }
-}
diff --git a/nuttx/lib/queue/dq_addfirst.c b/nuttx/lib/queue/dq_addfirst.c
deleted file mode 100644
index 7c7312de3..000000000
--- a/nuttx/lib/queue/dq_addfirst.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/************************************************************
- * lib/queue/dq_addfirst.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: dq_addfirst
- *
- * Description:
- * dq_addfirst affs 'node' at the beginning of 'queue'
- *
- ************************************************************/
-
-void dq_addfirst(FAR dq_entry_t *node, dq_queue_t *queue)
-{
- node->blink = NULL;
- node->flink = queue->head;
-
- if (!queue->head)
- {
- queue->head = node;
- queue->tail = node;
- }
- else
- {
- queue->head->blink = node;
- queue->head = node;
- }
-}
-
diff --git a/nuttx/lib/queue/dq_addlast.c b/nuttx/lib/queue/dq_addlast.c
deleted file mode 100644
index 745deb27d..000000000
--- a/nuttx/lib/queue/dq_addlast.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/************************************************************
- * lib/queue/dq_addlast.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: dq_addlast
- *
- * Description
- * dq_addlast adds 'node' to the end of 'queue'
- *
- ************************************************************/
-
-void dq_addlast(FAR dq_entry_t *node, dq_queue_t *queue)
-{
- node->flink = NULL;
- node->blink = queue->tail;
-
- if (!queue->head)
- {
- queue->head = node;
- queue->tail = node;
- }
- else
- {
- queue->tail->flink = node;
- queue->tail = node;
- }
-}
-
diff --git a/nuttx/lib/queue/dq_rem.c b/nuttx/lib/queue/dq_rem.c
deleted file mode 100644
index 218427bf8..000000000
--- a/nuttx/lib/queue/dq_rem.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/************************************************************
- * lib/queue/dq_rem.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: dq_rem
- *
- * Descripton:
- * dq_rem removes 'node' from 'queue'
- *
- ************************************************************/
-
-void dq_rem(FAR dq_entry_t *node, dq_queue_t *queue)
-{
- FAR dq_entry_t *prev = node->blink;
- FAR dq_entry_t *next = node->flink;
-
- if (!prev)
- {
- queue->head = next;
- }
- else
- {
- prev->flink = next;
- }
-
- if (!next)
- {
- queue->tail = prev;
- }
- else
- {
- next->blink = prev;
- }
-
- node->flink = NULL;
- node->blink = NULL;
-}
-
diff --git a/nuttx/lib/queue/dq_remfirst.c b/nuttx/lib/queue/dq_remfirst.c
deleted file mode 100644
index 26c5fd7a6..000000000
--- a/nuttx/lib/queue/dq_remfirst.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/************************************************************
- * lib/queue/dq_remfirst.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: dq_remfirst
- *
- * Description:
- * dq_remfirst removes 'node' from the head of 'queue'
- *
- ************************************************************/
-
-FAR dq_entry_t *dq_remfirst(dq_queue_t *queue)
-{
- FAR dq_entry_t *ret = queue->head;
-
- if (ret)
- {
- FAR dq_entry_t *next = ret->flink;
- if (!next)
- {
- queue->head = NULL;
- queue->tail = NULL;
- }
- else
- {
- queue->head = next;
- next->blink = NULL;
- }
-
- ret->flink = NULL;
- ret->blink = NULL;
- }
-
- return ret;
-}
-
diff --git a/nuttx/lib/queue/dq_remlast.c b/nuttx/lib/queue/dq_remlast.c
deleted file mode 100644
index 35adc73e2..000000000
--- a/nuttx/lib/queue/dq_remlast.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
- * lib/queue/dq_remlast.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <queue.h>
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/***************************************************(************************
- * Name: dq_remlast
- *
- * Description:
- * dq_remlast removes the last entry from 'queue'
- *
- ****************************************************************************/
-
-FAR dq_entry_t *dq_remlast(dq_queue_t *queue)
-{
- FAR dq_entry_t *ret = queue->tail;
-
- if (ret)
- {
- FAR dq_entry_t *prev = ret->blink;
- if (!prev)
- {
- queue->head = NULL;
- queue->tail = NULL;
- }
- else
- {
- queue->tail = prev;
- prev->flink = NULL;
- }
-
- ret->flink = NULL;
- ret->blink = NULL;
- }
-
- return ret;
-}
-
diff --git a/nuttx/lib/queue/sq_addafter.c b/nuttx/lib/queue/sq_addafter.c
deleted file mode 100644
index 965ac2844..000000000
--- a/nuttx/lib/queue/sq_addafter.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/************************************************************
- * lib/queue/sq_addafter.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: sq_addafter.c
- *
- * Description:
- * The sq_addafter function adds 'node' after 'prev' in the
- * 'queue.'
- *
- ************************************************************/
-
-void sq_addafter(FAR sq_entry_t *prev, FAR sq_entry_t *node,
- sq_queue_t *queue)
-{
- if (!queue->head || prev == queue->tail)
- {
- sq_addlast(node, queue);
- }
- else
- {
- node->flink = prev->flink;
- prev->flink = node;
- }
-}
diff --git a/nuttx/lib/queue/sq_addfirst.c b/nuttx/lib/queue/sq_addfirst.c
deleted file mode 100644
index 8fc8e0619..000000000
--- a/nuttx/lib/queue/sq_addfirst.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/************************************************************
- * lib/queue/sq_addfirst.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: sq_addfirst
- *
- * Description:
- * The sq_addfirst function places the 'node' at the head
- * of the 'queue'
- *
- ************************************************************/
-
-void sq_addfirst(FAR sq_entry_t *node, sq_queue_t *queue)
-{
- node->flink = queue->head;
- if (!queue->head)
- {
- queue->tail = node;
- }
- queue->head = node;
-}
diff --git a/nuttx/lib/queue/sq_addlast.c b/nuttx/lib/queue/sq_addlast.c
deleted file mode 100644
index f9f9625cc..000000000
--- a/nuttx/lib/queue/sq_addlast.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/************************************************************
- * lib/queue/sq_addlast.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: sq_addlast
- *
- * Description:
- * The sq_addlast function places the 'node' at the tail of
- * the 'queue'
- ************************************************************/
-
-void sq_addlast(FAR sq_entry_t *node, sq_queue_t *queue)
-{
- node->flink = NULL;
- if (!queue->head)
- {
- queue->head = node;
- queue->tail = node;
- }
- else
- {
- queue->tail->flink = node;
- queue->tail = node;
- }
-}
-
diff --git a/nuttx/lib/queue/sq_rem.c b/nuttx/lib/queue/sq_rem.c
deleted file mode 100644
index 6ba52354d..000000000
--- a/nuttx/lib/queue/sq_rem.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/************************************************************
- * lib/queue/sq_rem.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * public Functions
- ************************************************************/
-
-/************************************************************
- * Name: sq_rem
- *
- * Description:
- * sq_rem removes a 'node' for 'queue.'
- *
- ************************************************************/
-
-void sq_rem(FAR sq_entry_t *node, sq_queue_t *queue)
-{
- if (queue->head && node)
- {
- if (node == queue->head)
- {
- queue->head = node->flink;
- if (node == queue->tail)
- {
- queue->tail = NULL;
- }
- }
- else
- {
- FAR sq_entry_t *prev;
- for(prev = (FAR sq_entry_t*)queue->head;
- prev && prev->flink != node;
- prev = prev->flink);
-
- if (prev)
- {
- sq_remafter(prev, queue);
- }
- }
- }
-}
diff --git a/nuttx/lib/queue/sq_remafter.c b/nuttx/lib/queue/sq_remafter.c
deleted file mode 100644
index 4dcfb06e4..000000000
--- a/nuttx/lib/queue/sq_remafter.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/************************************************************
- * lib/queue/sq_remafter.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name:
- *
- * Description:
- * sq_remafter removes the entry following 'node; from the
- * 'queue' Returns a reference to the removed entry.
- *
- ************************************************************/
-
-FAR sq_entry_t *sq_remafter(FAR sq_entry_t *node, sq_queue_t *queue)
-{
- FAR sq_entry_t *ret = node->flink;
- if (queue->head && ret)
- {
- if (queue->tail == ret)
- {
- queue->tail = node;
- node->flink = NULL;
- }
- else
- {
- node->flink = ret->flink;
- }
-
- ret->flink = NULL;
- }
-
- return ret;
-}
-
diff --git a/nuttx/lib/queue/sq_remfirst.c b/nuttx/lib/queue/sq_remfirst.c
deleted file mode 100644
index 43df6de41..000000000
--- a/nuttx/lib/queue/sq_remfirst.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/************************************************************
- * lib/queue/sq_remfirst.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: sq_remfirst
- *
- * Description:
- * sq_remfirst function removes the first entry from
- * 'queue'
- *
- ************************************************************/
-
-FAR sq_entry_t *sq_remfirst(sq_queue_t *queue)
-{
- FAR sq_entry_t *ret = queue->head;
-
- if (ret)
- {
- queue->head = ret->flink;
- if (!queue->head)
- {
- queue->tail = NULL;
- }
-
- ret->flink = NULL;
- }
-
- return ret;
-}
-
diff --git a/nuttx/lib/queue/sq_remlast.c b/nuttx/lib/queue/sq_remlast.c
deleted file mode 100644
index 92cdbde98..000000000
--- a/nuttx/lib/queue/sq_remlast.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/************************************************************
- * lib/queue/sq_remlast.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <queue.h>
-
-/************************************************************
- * Public Functions
- ************************************************************/
-
-/************************************************************
- * Name: sq_remlast
- *
- * Description:
- * Removes the last entry in a singly-linked queue.
- *
- ************************************************************/
-
-FAR sq_entry_t *sq_remlast(sq_queue_t *queue)
-{
- FAR sq_entry_t *ret = queue->tail;
-
- if (ret)
- {
- if (queue->head == queue->tail)
- {
- queue->head = NULL;
- queue->tail = NULL;
- }
- else
- {
- FAR sq_entry_t *prev;
- for(prev = queue->head;
- prev && prev->flink != ret;
- prev = prev->flink);
-
- if (prev)
- {
- prev->flink = NULL;
- queue->tail = prev;
- }
- }
-
- ret->flink = NULL;
- }
-
- return ret;
-}
diff --git a/nuttx/lib/sched/Make.defs b/nuttx/lib/sched/Make.defs
deleted file mode 100644
index f398b755e..000000000
--- a/nuttx/lib/sched/Make.defs
+++ /dev/null
@@ -1,43 +0,0 @@
-############################################################################
-# lib/sched/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the sched C files to the build
-
-CSRCS += sched_getprioritymax.c sched_getprioritymin.c
-
-# Add the sched directory to the build
-
-DEPPATH += --dep-path sched
-VPATH += :sched
diff --git a/nuttx/lib/sched/sched_getprioritymax.c b/nuttx/lib/sched/sched_getprioritymax.c
deleted file mode 100644
index 14b368dfc..000000000
--- a/nuttx/lib/sched/sched_getprioritymax.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/************************************************************************
- * lib/sched/sched_getprioritymax.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <nuttx/arch.h>
-
-/************************************************************************
- * Definitions
- ************************************************************************/
-
-/************************************************************************
- * Private Type Declarations
- ************************************************************************/
-
-/************************************************************************
- * Global Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Function Prototypes
- ************************************************************************/
-
-/************************************************************************
- * Private Functions
- ************************************************************************/
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-/************************************************************************
- * Name: ched_get_priority_max
- *
- * Description:
- * This function returns the value of the highest possible
- * task priority for a specified scheduling policy.
- *
- * Inputs:
- * policy - Scheduling policy requested.
- *
- * Return Value:
- * The maximum priority value or -1 (ERROR)
- * (errno is not set)
- *
- * Assumptions:
- *
- ************************************************************************/
-
-int sched_get_priority_max(int policy)
-{
- if (policy != SCHED_FIFO && policy != SCHED_RR)
- {
- return ERROR;
- }
- else
- {
- return SCHED_PRIORITY_MAX;
- }
-}
diff --git a/nuttx/lib/sched/sched_getprioritymin.c b/nuttx/lib/sched/sched_getprioritymin.c
deleted file mode 100644
index 86410cb0f..000000000
--- a/nuttx/lib/sched/sched_getprioritymin.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/************************************************************************
- * lib/sched/sched_getprioritymin.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <nuttx/arch.h>
-
-/************************************************************************
- * Definitions
- ************************************************************************/
-
-/************************************************************************
- * Private Type Declarations
- ************************************************************************/
-
-/************************************************************************
- * Global Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Function Prototypes
- ************************************************************************/
-
-/************************************************************************
- * Private Functions
- ************************************************************************/
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-/************************************************************************
- * Name: sched_get_priority_min
- *
- * Description:
- * This function returns the value of the lowest possible
- * task priority for a specified scheduling policy.
- *
- * Inputs:
- * policy - Scheduling policy requested.
- *
- * Return Value:
- * The minimum priority value or -1 (ERROR)
- * (errno is not set)
- *
- * Assumptions:
- *
- ************************************************************************/
-
-int sched_get_priority_min(int policy)
-{
- if (policy != SCHED_FIFO && policy != SCHED_RR)
- {
- return ERROR;
- }
- else
- {
- return SCHED_PRIORITY_MIN;
- }
-}
diff --git a/nuttx/lib/semaphore/Make.defs b/nuttx/lib/semaphore/Make.defs
deleted file mode 100644
index fdc0fe7d5..000000000
--- a/nuttx/lib/semaphore/Make.defs
+++ /dev/null
@@ -1,43 +0,0 @@
-############################################################################
-# lib/semaphore/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the semaphore C files to the build
-
-CSRCS += sem_init.c sem_getvalue.c
-
-# Add the semaphore directory to the build
-
-DEPPATH += --dep-path semaphore
-VPATH += :semaphore
diff --git a/nuttx/lib/semaphore/sem_getvalue.c b/nuttx/lib/semaphore/sem_getvalue.c
deleted file mode 100644
index 31c6bb7e0..000000000
--- a/nuttx/lib/semaphore/sem_getvalue.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
- * lib/semaphore/sem_getvalue.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <semaphore.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: sem_getvalue
- *
- * Description:
- * This function updates the location referenced by 'sval' argument to
- * have the value of the semaphore referenced by 'sem' without effecting
- * the state of the semaphore. The updated value represents the actual
- * semaphore value that occurred at some unspecified time during the call,
- * but may not reflect the actual value of the semaphore when it is
- * returned to the calling task.
- *
- * If 'sem' is locked, the value return by sem_getvalue() will either be
- * zero or a negative number whose absolute value represents the number
- * of tasks waiting for the semaphore.
- *
- * Parameters:
- * sem - Semaphore descriptor
- * sval - Buffer by which the value is returned
- *
- * Return Value:
- * 0 (OK), or -1 (ERROR) if unsuccessful
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int sem_getvalue(FAR sem_t *sem, FAR int *sval)
-{
- if (sem && sval)
- {
- *sval = sem->semcount;
- return OK;
- }
- else
- {
- set_errno(EINVAL);
- return ERROR;
- }
-}
diff --git a/nuttx/lib/semaphore/sem_init.c b/nuttx/lib/semaphore/sem_init.c
deleted file mode 100644
index bc14415f9..000000000
--- a/nuttx/lib/semaphore/sem_init.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/****************************************************************************
- * lib/sem/sem_init.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <limits.h>
-#include <semaphore.h>
-#include <errno.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: sem_init
- *
- * Description:
- * This function initializes the UNAMED semaphore sem. Following a
- * successful call to sem_init(), the semaophore may be used in subsequent
- * calls to sem_wait(), sem_post(), and sem_trywait(). The semaphore
- * remains usable until it is destroyed.
- *
- * Only sem itself may be used for performing synchronization. The result
- * of referring to copies of sem in calls to sem_wait(), sem_trywait(),
- * sem_post(), and sem_destroy() is undefined.
- *
- * Parameters:
- * sem - Semaphore to be initialized
- * pshared - Process sharing (not used)
- * value - Semaphore initialization value
- *
- * Return Value:
- * 0 (OK), or -1 (ERROR) if unsuccessful.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int sem_init(FAR sem_t *sem, int pshared, unsigned int value)
-{
- /* Verify that a semaphore was provided and the count is within the valid
- * range.
- */
-
- if (sem && value <= SEM_VALUE_MAX)
- {
- /* Initialize the seamphore count */
-
- sem->semcount = (int16_t)value;
-
- /* Initialize to support priority inheritance */
-
-#ifdef CONFIG_PRIORITY_INHERITANCE
-# if CONFIG_SEM_PREALLOCHOLDERS > 0
- sem->hhead = NULL;
-# else
- sem->holder.htcb = NULL;
- sem->holder.counts = 0;
-# endif
-#endif
- return OK;
- }
- else
- {
- set_errno(EINVAL);
- return ERROR;
- }
-}
diff --git a/nuttx/lib/signal/Make.defs b/nuttx/lib/signal/Make.defs
deleted file mode 100644
index e27da9b2e..000000000
--- a/nuttx/lib/signal/Make.defs
+++ /dev/null
@@ -1,47 +0,0 @@
-############################################################################
-# lib/signal/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-ifneq ($(CONFIG_DISABLE_SIGNALS),y)
-
-# Add the signal C files to the build
-
-CSRCS += sig_emptyset.c sig_fillset.c sig_addset.c sig_delset.c sig_ismember.c
-
-# Add the signal directory to the build
-
-DEPPATH += --dep-path signal
-VPATH += :signal
-
-endif
diff --git a/nuttx/lib/signal/sig_addset.c b/nuttx/lib/signal/sig_addset.c
deleted file mode 100644
index 19ba0cb6b..000000000
--- a/nuttx/lib/signal/sig_addset.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
- * lib/signal/sig_addset.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <signal.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: sigaddset
- *
- * Description:
- * This function adds the signal specified by signo to the signal set
- * specified by set.
- *
- * Parameters:
- * set - Signal set to add signal to
- * signo - Signal to add
- *
- * Return Value:
- * 0 (OK), or -1 (ERROR) if the signal number is invalid.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int sigaddset(FAR sigset_t *set, int signo)
-{
- int ret = ERROR;
-
- /* Verify the signal */
-
- if (GOOD_SIGNO(signo))
- {
- /* Add the signal to the set */
-
- *set |= SIGNO2SET(signo);
- ret = OK;
- }
-
- return ret;
-}
-
diff --git a/nuttx/lib/signal/sig_delset.c b/nuttx/lib/signal/sig_delset.c
deleted file mode 100644
index 1c661d37f..000000000
--- a/nuttx/lib/signal/sig_delset.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
- * lib/signal/sig_delset.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <signal.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: sigdelset
- *
- * Description:
- * This function deletes the signal specified by signo from the signal
- * set specified by the 'set' argument.
- *
- * Parameters:
- * set - Signal set to delete the signal from
- * signo - Signal to delete
- *
- * Return Value:
- * 0 (OK), or -1 (ERROR) if the signal number is invalid.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int sigdelset(FAR sigset_t *set, int signo)
-{
- int ret = ERROR;
-
- /* Verify the signal */
-
- if (GOOD_SIGNO(signo))
- {
- /* Delete the signal to the set */
-
- *set &= ~SIGNO2SET(signo);
- ret = OK;
- }
-
- return ret;
-}
-
diff --git a/nuttx/lib/signal/sig_emptyset.c b/nuttx/lib/signal/sig_emptyset.c
deleted file mode 100644
index ac0c6b3e8..000000000
--- a/nuttx/lib/signal/sig_emptyset.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
- * lib/signal/sig_emptyset.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <signal.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: sigemptyset
- *
- * Description:
- * This function initializes the signal set specified by set such that all
- * signals are excluded.
- *
- * Parameters:
- * set - Signal set to initalize
- *
- * Return Value:
- * 0 (OK), or -1 (ERROR) if the signal set cannot be initialized.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int sigemptyset(FAR sigset_t *set)
-{
- *set = NULL_SIGNAL_SET;
- return OK;
-}
-
diff --git a/nuttx/lib/signal/sig_fillset.c b/nuttx/lib/signal/sig_fillset.c
deleted file mode 100644
index 8697d7577..000000000
--- a/nuttx/lib/signal/sig_fillset.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
- * lib/signal/sig_fillset.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <signal.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Publics Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: sigfillset
- *
- * Description:
- * This function initializes the signal set specified by set such that all
- * signals are included.
- *
- * Parameters:
- * set - Signal set to initalize
- *
- * Return Value:
- * 0 (OK), or -1 (ERROR) if the signal set cannot be initialized.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int sigfillset(FAR sigset_t *set)
-{
- *set = ALL_SIGNAL_SET;
- return OK;
-}
-
diff --git a/nuttx/lib/signal/sig_ismember.c b/nuttx/lib/signal/sig_ismember.c
deleted file mode 100644
index c5bb091b7..000000000
--- a/nuttx/lib/signal/sig_ismember.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
- * lib/signal/sig_ismember.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <signal.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: sigismember
- *
- * Description:
- * This function tests whether the signal specified by signo is a member
- * of the set specified by set.
- *
- * Parameters:
- * set - Signal set to test
- * signo - Signal to test for
- *
- * Return Value:
- * 1 (true), if the specified signal is a member of the set,
- * 0 (OK or FALSE), if it is not, or
- * -1 (ERROR) if the signal number is invalid.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int sigismember(FAR const sigset_t *set, int signo)
-{
- int ret = ERROR;
-
- /* Verify the signal */
-
- if (GOOD_SIGNO(signo))
- {
- /* Check if the signal is in the set */
-
- ret = ((*set & SIGNO2SET(signo)) != 0);
- }
-
- return ret;
-}
-
diff --git a/nuttx/lib/stdio/Make.defs b/nuttx/lib/stdio/Make.defs
deleted file mode 100644
index e4ee5e969..000000000
--- a/nuttx/lib/stdio/Make.defs
+++ /dev/null
@@ -1,85 +0,0 @@
-############################################################################
-# lib/stdio/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the stdio C files to the build
-# This first group of C files do not depend on having file descriptors or
-# C streams.
-
-CSRCS += lib_fileno.c lib_printf.c lib_rawprintf.c lib_lowprintf.c \
- lib_sprintf.c lib_asprintf.c lib_snprintf.c lib_libsprintf.c \
- lib_vsprintf.c lib_avsprintf.c lib_vsnprintf.c lib_libvsprintf.c \
- lib_meminstream.c lib_memoutstream.c lib_lowinstream.c \
- lib_lowoutstream.c lib_zeroinstream.c lib_nullinstream.c \
- lib_nulloutstream.c lib_sscanf.c
-
-# The remaining sources files depend upon file descriptors
-
-ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
-
-CSRCS += lib_rawinstream.c lib_rawoutstream.c
-
-# And these depend upon both file descriptors and C streams
-
-ifneq ($(CONFIG_NFILE_STREAMS),0)
-
-CSRCS += lib_fopen.c lib_fclose.c lib_fread.c lib_libfread.c lib_fseek.c \
- lib_ftell.c lib_fsetpos.c lib_fgetpos.c lib_fgetc.c lib_fgets.c \
- lib_gets.c lib_fwrite.c lib_libfwrite.c lib_fflush.c \
- lib_libflushall.c lib_libfflush.c lib_rdflush.c lib_wrflush.c \
- lib_fputc.c lib_puts.c lib_fputs.c lib_ungetc.c lib_vprintf.c \
- lib_fprintf.c lib_vfprintf.c lib_stdinstream.c lib_stdoutstream.c \
- lib_perror.c lib_feof.c lib_ferror.c lib_clearerr.c
-
-endif
-endif
-
-# Other support that depends on specific, configured features.
-
-ifeq ($(CONFIG_SYSLOG),y)
-CSRCS += lib_syslogstream.c
-endif
-
-ifeq ($(CONFIG_LIBC_FLOATINGPOINT),y)
-CSRCS += lib_dtoa.c
-endif
-
-ifeq ($(CONFIG_STDIO_LINEBUFFER),y)
-CSRCS += lib_libnoflush.c
-endif
-
-# Add the stdio directory to the build
-
-DEPPATH += --dep-path stdio
-VPATH += :stdio
diff --git a/nuttx/lib/stdio/lib_asprintf.c b/nuttx/lib/stdio/lib_asprintf.c
deleted file mode 100644
index 84aaafa46..000000000
--- a/nuttx/lib/stdio/lib_asprintf.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_asprintf.c
- *
- * Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include <stdarg.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: asprintf
- *
- * Description:
- * This function is similar to sprintf, except that it dynamically
- * allocates a string (as with malloc) to hold the output, instead of
- * putting the output in a buffer you allocate in advance. The ptr
- * argument should be the address of a char * object, and a successful
- * call to asprintf stores a pointer to the newly allocated string at that
- * location.
- *
- * Returned Value:
- * The returned value is the number of characters allocated for the buffer,
- * or less than zero if an error occurred. Usually this means that the buffer
- * could not be allocated.
- *
- ****************************************************************************/
-
-int asprintf (FAR char **ptr, const char *fmt, ...)
-{
- va_list ap;
- int ret;
-
- /* Let avsprintf do all of the work */
-
- va_start(ap, fmt);
- ret = avsprintf(ptr, fmt, ap);
- va_end(ap);
-
- return ret;
-}
diff --git a/nuttx/lib/stdio/lib_avsprintf.c b/nuttx/lib/stdio/lib_avsprintf.c
deleted file mode 100644
index 8561b97c2..000000000
--- a/nuttx/lib/stdio/lib_avsprintf.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_avsprintf.c
- *
- * Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <assert.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: avsprintf
- *
- * Description:
- * This function is similar to vsprintf, except that it dynamically
- * allocates a string (as with malloc) to hold the output, instead of
- * putting the output in a buffer you allocate in advance. The ptr
- * argument should be the address of a char * object, and a successful
- * call to avsprintf stores a pointer to the newly allocated string at that
- * location.
- *
- * Returned Value:
- * The returned value is the number of characters allocated for the buffer,
- * or less than zero if an error occurred. Usually this means that the buffer
- * could not be allocated.
- *
- ****************************************************************************/
-
-int avsprintf(FAR char **ptr, const char *fmt, va_list ap)
-{
- struct lib_outstream_s nulloutstream;
- struct lib_memoutstream_s memoutstream;
- FAR char *buf;
- int nbytes;
-
- DEBUGASSERT(ptr && fmt);
-
- /* First, use a nullstream to get the size of the buffer. The number
- * of bytes returned may or may not include the null terminator.
- */
-
- lib_nulloutstream(&nulloutstream);
- nbytes = lib_vsprintf((FAR struct lib_outstream_s *)&nulloutstream, fmt, ap);
-
- /* Then allocate a buffer to hold that number of characters, adding one
- * for the null terminator.
- */
-
- buf = (FAR char *)malloc(nulloutstream.nput + 1);
- if (!buf)
- {
- return ERROR;
- }
-
- /* Initialize a memory stream to write into the allocated buffer. The
- * memory stream will reserve one byte at the end of the buffer for the
- * null terminator and will not report this in the number of output bytes.
- */
-
- lib_memoutstream((FAR struct lib_memoutstream_s *)&memoutstream,
- buf, nulloutstream.nput + 1);
-
- /* Then let lib_vsprintf do it's real thing */
-
- nbytes = lib_vsprintf((FAR struct lib_outstream_s *)&memoutstream.public, fmt, ap);
-
- /* Return a pointer to the string to the caller. NOTE: the memstream put()
- * method has already added the NUL terminator to the end of the string (not
- * included in the nput count).
- *
- * Hmmm.. looks like the memory would be stranded if lib_vsprintf() returned
- * an error. Does that ever happen?
- */
-
- DEBUGASSERT(nbytes < 0 || nbytes == nulloutstream.nput);
- *ptr = buf;
- return nbytes;
-}
diff --git a/nuttx/lib/stdio/lib_clearerr.c b/nuttx/lib/stdio/lib_clearerr.c
deleted file mode 100644
index 7f7ded5bb..000000000
--- a/nuttx/lib/stdio/lib_clearerr.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_clearerr.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-
-#if CONFIG_NFILE_STREAMS > 0
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: Functions
- *
- * Description:
- * Clear any end-of-file or error conditions.
- *
- * Returned Value:
- * None
- *
- ****************************************************************************/
-
-void clearerr(FILE *stream)
-{
- stream->fs_flags = 0;
-}
-#endif /* CONFIG_NFILE_STREAMS */
-
diff --git a/nuttx/lib/stdio/lib_dtoa.c b/nuttx/lib/stdio/lib_dtoa.c
deleted file mode 100644
index b8c7db980..000000000
--- a/nuttx/lib/stdio/lib_dtoa.c
+++ /dev/null
@@ -1,1641 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_dtoa.c
- *
- * This file was ported to NuttX by Yolande Cates.
- *
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Chris Torek.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <string.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#ifdef Unsigned_Shifts
-# define Sign_Extend(a,b) if (b < 0) a |= 0xffff0000;
-#else
-# define Sign_Extend(a,b) /* no-op */
-#endif
-
-#ifdef CONFIG_ENDIAN_BIG
-# define word0(x) ((uint32_t *)&x)[0]
-# define word1(x) ((uint32_t *)&x)[1]
-#else
-# define word0(x) ((uint32_t *)&x)[1]
-# define word1(x) ((uint32_t *)&x)[0]
-#endif
-
-#ifdef CONFIG_ENDIAN_BIG
-# define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
- ((unsigned short *)a)[1] = (unsigned short)c, a++)
-#else
-# define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
- ((unsigned short *)a)[0] = (unsigned short)c, a++)
-#endif
-
-#define Exp_shift 20
-#define Exp_shift1 20
-#define Exp_msk1 0x100000
-#define Exp_msk11 0x100000
-#define Exp_mask 0x7ff00000
-#define P 53
-#define Bias 1023
-#define IEEE_Arith
-#define Emin (-1022)
-#define Exp_1 0x3ff00000
-#define Exp_11 0x3ff00000
-#define Ebits 11
-#define Frac_mask 0xfffff
-#define Frac_mask1 0xfffff
-#define Ten_pmax 22
-#define Bletch 0x10
-#define Bndry_mask 0xfffff
-#define Bndry_mask1 0xfffff
-#define LSB 1
-#define Sign_bit 0x80000000
-#define Log2P 1
-#define Tiny0 0
-#define Tiny1 1
-#define Quick_max 14
-#define Int_max 14
-#define Infinite(x) (word0(x) == 0x7ff00000) /* sufficient test for here */
-
-#define Kmax 15
-
-#define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \
- y->wds*sizeof(long) + 2*sizeof(int))
-
-/****************************************************************************
- * Private Type Definitions
- ****************************************************************************/
-
-struct Bigint
-{
- struct Bigint *next;
- int k, maxwds, sign, wds;
- unsigned long x[1];
-};
-
-typedef struct Bigint Bigint;
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-static Bigint *freelist[Kmax + 1];
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-static Bigint *Balloc(int k)
-{
- int x;
- Bigint *rv;
-
- if ((rv = freelist[k]))
- {
- freelist[k] = rv->next;
- }
- else
- {
- x = 1 << k;
- rv = (Bigint *)lib_malloc(sizeof(Bigint) + (x - 1) * sizeof(long));
- rv->k = k;
- rv->maxwds = x;
- }
- rv->sign = rv->wds = 0;
- return rv;
-}
-
-static void Bfree(Bigint * v)
-{
- if (v)
- {
- v->next = freelist[v->k];
- freelist[v->k] = v;
- }
-}
-
-/* multiply by m and add a */
-
-static Bigint *multadd(Bigint * b, int m, int a)
-{
- int i, wds;
- unsigned long *x, y;
-#ifdef Pack_32
- unsigned long xi, z;
-#endif
- Bigint *b1;
-
- wds = b->wds;
- x = b->x;
- i = 0;
- do
- {
-#ifdef Pack_32
- xi = *x;
- y = (xi & 0xffff) * m + a;
- z = (xi >> 16) * m + (y >> 16);
- a = (int)(z >> 16);
- *x++ = (z << 16) + (y & 0xffff);
-#else
- y = *x * m + a;
- a = (int)(y >> 16);
- *x++ = y & 0xffff;
-#endif
- }
- while (++i < wds);
- if (a)
- {
- if (wds >= b->maxwds)
- {
- b1 = Balloc(b->k + 1);
- Bcopy(b1, b);
- Bfree(b);
- b = b1;
- }
- b->x[wds++] = a;
- b->wds = wds;
- }
- return b;
-}
-
-static int hi0bits(unsigned long x)
-{
- int k = 0;
-
- if (!(x & 0xffff0000))
- {
- k = 16;
- x <<= 16;
- }
-
- if (!(x & 0xff000000))
- {
- k += 8;
- x <<= 8;
- }
-
- if (!(x & 0xf0000000))
- {
- k += 4;
- x <<= 4;
- }
-
- if (!(x & 0xc0000000))
- {
- k += 2;
- x <<= 2;
- }
-
- if (!(x & 0x80000000))
- {
- k++;
- if (!(x & 0x40000000))
- {
- return 32;
- }
- }
- return k;
-}
-
-static int lo0bits(unsigned long *y)
-{
- int k;
- unsigned long x = *y;
-
- if (x & 7)
- {
- if (x & 1)
- {
- return 0;
- }
- if (x & 2)
- {
- *y = x >> 1;
- return 1;
- }
- *y = x >> 2;
- return 2;
- }
-
- k = 0;
- if (!(x & 0xffff))
- {
- k = 16;
- x >>= 16;
- }
-
- if (!(x & 0xff))
- {
- k += 8;
- x >>= 8;
- }
-
- if (!(x & 0xf))
- {
- k += 4;
- x >>= 4;
- }
-
- if (!(x & 0x3))
- {
- k += 2;
- x >>= 2;
- }
-
- if (!(x & 1))
- {
- k++;
- x >>= 1;
- if (!x & 1)
- {
- return 32;
- }
- }
- *y = x;
- return k;
-}
-
-static Bigint *i2b(int i)
-{
- Bigint *b;
-
- b = Balloc(1);
- b->x[0] = i;
- b->wds = 1;
- return b;
-}
-
-static Bigint *mult(Bigint * a, Bigint * b)
-{
- Bigint *c;
- int k, wa, wb, wc;
- unsigned long carry, y, z;
- unsigned long *x, *xa, *xae, *xb, *xbe, *xc, *xc0;
-#ifdef Pack_32
- uint32_t z2;
-#endif
-
- if (a->wds < b->wds)
- {
- c = a;
- a = b;
- b = c;
- }
-
- k = a->k;
- wa = a->wds;
- wb = b->wds;
- wc = wa + wb;
- if (wc > a->maxwds)
- {
- k++;
- }
- c = Balloc(k);
- for (x = c->x, xa = x + wc; x < xa; x++)
- {
- *x = 0;
- }
- xa = a->x;
- xae = xa + wa;
- xb = b->x;
- xbe = xb + wb;
- xc0 = c->x;
-#ifdef Pack_32
- for (; xb < xbe; xb++, xc0++)
- {
- if ((y = *xb & 0xffff))
- {
- x = xa;
- xc = xc0;
- carry = 0;
- do
- {
- z = (*x & 0xffff) * y + (*xc & 0xffff) + carry;
- carry = z >> 16;
- z2 = (*x++ >> 16) * y + (*xc >> 16) + carry;
- carry = z2 >> 16;
- Storeinc(xc, z2, z);
- }
- while (x < xae);
- *xc = carry;
- }
- if ((y = *xb >> 16))
- {
- x = xa;
- xc = xc0;
- carry = 0;
- z2 = *xc;
- do
- {
- z = (*x & 0xffff) * y + (*xc >> 16) + carry;
- carry = z >> 16;
- Storeinc(xc, z, z2);
- z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry;
- carry = z2 >> 16;
- }
- while (x < xae);
- *xc = z2;
- }
- }
-#else
- for (; xb < xbe; xc0++)
- {
- if ((y = *xb++))
- {
- x = xa;
- xc = xc0;
- carry = 0;
- do
- {
- z = *x++ * y + *xc + carry;
- carry = z >> 16;
- *xc++ = z & 0xffff;
- }
- while (x < xae);
- *xc = carry;
- }
- }
-#endif
- for (xc0 = c->x, xc = xc0 + wc; wc > 0 && !*--xc; --wc);
- c->wds = wc;
- return c;
-}
-
-static Bigint *p5s;
-
-static Bigint *pow5mult(Bigint * b, int k)
-{
- Bigint *b1, *p5, *p51;
- int i;
- static int p05[3] = { 5, 25, 125 };
-
- if ((i = k & 3))
- b = multadd(b, p05[i - 1], 0);
-
- if (!(k >>= 2))
- {
- return b;
- }
-
- if (!(p5 = p5s))
- {
- /* first time */
- p5 = p5s = i2b(625);
- p5->next = 0;
- }
-
- for (;;)
- {
- if (k & 1)
- {
- b1 = mult(b, p5);
- Bfree(b);
- b = b1;
- }
- if (!(k >>= 1))
- {
- break;
- }
-
- if (!(p51 = p5->next))
- {
- p51 = p5->next = mult(p5, p5);
- p51->next = 0;
- }
- p5 = p51;
- }
- return b;
-}
-
-static Bigint *lshift(Bigint * b, int k)
-{
- int i, k1, n, n1;
- Bigint *b1;
- unsigned long *x, *x1, *xe, z;
-
-#ifdef Pack_32
- n = k >> 5;
-#else
- n = k >> 4;
-#endif
- k1 = b->k;
- n1 = n + b->wds + 1;
- for (i = b->maxwds; n1 > i; i <<= 1)
- {
- k1++;
- }
- b1 = Balloc(k1);
- x1 = b1->x;
- for (i = 0; i < n; i++)
- {
- *x1++ = 0;
- }
- x = b->x;
- xe = x + b->wds;
-#ifdef Pack_32
- if (k &= 0x1f)
- {
- k1 = 32 - k;
- z = 0;
- do
- {
- *x1++ = *x << k | z;
- z = *x++ >> k1;
- }
- while (x < xe);
- if ((*x1 = z))
- {
- ++n1;
- }
- }
-#else
- if (k &= 0xf)
- {
- k1 = 16 - k;
- z = 0;
- do
- {
- *x1++ = ((*x << k) & 0xffff) | z;
- z = *x++ >> k1;
- }
- while (x < xe);
- if ((*x1 = z))
- {
- ++n1;
- }
- }
-#endif
- else
- do
- {
- *x1++ = *x++;
- }
- while (x < xe);
- b1->wds = n1 - 1;
- Bfree(b);
- return b1;
-}
-
-static int cmp(Bigint * a, Bigint * b)
-{
- unsigned long *xa, *xa0, *xb, *xb0;
- int i, j;
-
- i = a->wds;
- j = b->wds;
-#ifdef CONFIG_DEBUG_LIB
- if (i > 1 && !a->x[i - 1])
- {
- ldbg("cmp called with a->x[a->wds-1] == 0\n");
- }
- if (j > 1 && !b->x[j - 1])
- {
- ldbg("cmp called with b->x[b->wds-1] == 0\n");
- }
-#endif
- if (i -= j)
- return i;
- xa0 = a->x;
- xa = xa0 + j;
- xb0 = b->x;
- xb = xb0 + j;
- for (;;)
- {
- if (*--xa != *--xb)
- return *xa < *xb ? -1 : 1;
- if (xa <= xa0)
- break;
- }
- return 0;
-}
-
-static Bigint *diff(Bigint * a, Bigint * b)
-{
- Bigint *c;
- int i, wa, wb;
- long borrow, y; /* We need signed shifts here. */
- unsigned long *xa, *xae, *xb, *xbe, *xc;
-#ifdef Pack_32
- int32_t z;
-#endif
-
- i = cmp(a, b);
- if (!i)
- {
- c = Balloc(0);
- c->wds = 1;
- c->x[0] = 0;
- return c;
- }
- if (i < 0)
- {
- c = a;
- a = b;
- b = c;
- i = 1;
- }
- else
- i = 0;
- c = Balloc(a->k);
- c->sign = i;
- wa = a->wds;
- xa = a->x;
- xae = xa + wa;
- wb = b->wds;
- xb = b->x;
- xbe = xb + wb;
- xc = c->x;
- borrow = 0;
-#ifdef Pack_32
- do
- {
- y = (*xa & 0xffff) - (*xb & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- z = (*xa++ >> 16) - (*xb++ >> 16) + borrow;
- borrow = z >> 16;
- Sign_Extend(borrow, z);
- Storeinc(xc, z, y);
- }
- while (xb < xbe);
- while (xa < xae)
- {
- y = (*xa & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- z = (*xa++ >> 16) + borrow;
- borrow = z >> 16;
- Sign_Extend(borrow, z);
- Storeinc(xc, z, y);
- }
-#else
- do
- {
- y = *xa++ - *xb++ + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- *xc++ = y & 0xffff;
- }
- while (xb < xbe);
- while (xa < xae)
- {
- y = *xa++ + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- *xc++ = y & 0xffff;
- }
-#endif
- while (!*--xc)
- wa--;
- c->wds = wa;
- return c;
-}
-
-static Bigint *d2b(double d, int *e, int *bits)
-{
- Bigint *b;
- int de, i, k;
- unsigned long *x, y, z;
-
-#ifdef Pack_32
- b = Balloc(1);
-#else
- b = Balloc(2);
-#endif
- x = b->x;
-
- z = word0(d) & Frac_mask;
- word0(d) &= 0x7fffffff; /* clear sign bit, which we ignore */
- if ((de = (int)(word0(d) >> Exp_shift)))
- z |= Exp_msk1;
-#ifdef Pack_32
- if ((y = word1(d)))
- {
- if ((k = lo0bits(&y)))
- {
- x[0] = y | z << (32 - k);
- z >>= k;
- }
- else
- x[0] = y;
- i = b->wds = (x[1] = z) ? 2 : 1;
- }
- else
- {
-#ifdef CONFIG_DEBUG_LIB
- if (!z)
- {
- ldbg("Zero passed to d2b\n");
- }
-#endif
- k = lo0bits(&z);
- x[0] = z;
- i = b->wds = 1;
- k += 32;
- }
-#else
- if ((y = word1(d)))
- {
- if ((k = lo0bits(&y)))
- if (k >= 16)
- {
- x[0] = y | ((z << (32 - k)) & 0xffff);
- x[1] = z >> (k - 16) & 0xffff;
- x[2] = z >> k;
- i = 2;
- }
- else
- {
- x[0] = y & 0xffff;
- x[1] = (y >> 16) | ((z << (16 - k)) & 0xffff);
- x[2] = z >> k & 0xffff;
- x[3] = z >> (k + 16);
- i = 3;
- }
- else
- {
- x[0] = y & 0xffff;
- x[1] = y >> 16;
- x[2] = z & 0xffff;
- x[3] = z >> 16;
- i = 3;
- }
- }
- else
- {
-#ifdef CONFIG_DEBUG_LIB
- if (!z)
- {
- ldbg("Zero passed to d2b\n");
- }
-#endif
- k = lo0bits(&z);
- if (k >= 16)
- {
- x[0] = z;
- i = 0;
- }
- else
- {
- x[0] = z & 0xffff;
- x[1] = z >> 16;
- i = 1;
- }
- k += 32;
- }
- while (!x[i])
- --i;
- b->wds = i + 1;
-#endif
- if (de)
- {
- *e = de - Bias - (P - 1) + k;
- *bits = P - k;
- }
- else
- {
- *e = de - Bias - (P - 1) + 1 + k;
-#ifdef Pack_32
- *bits = 32 * i - hi0bits(x[i - 1]);
-#else
- *bits = (i + 2) * 16 - hi0bits(x[i]);
-#endif
- }
- return b;
-}
-
-static const double tens[] = {
- 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
- 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,
- 1e20, 1e21, 1e22
-};
-
-#ifdef IEEE_Arith
-static const double bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 };
-static const double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128, 1e-256 };
-
-# define n_bigtens 5
-#else
-static const double bigtens[] = { 1e16, 1e32 };
-static const double tinytens[] = { 1e-16, 1e-32 };
-
-# define n_bigtens 2
-#endif
-
-static int quorem(Bigint * b, Bigint * S)
-{
- int n;
- long borrow, y;
- unsigned long carry, q, ys;
- unsigned long *bx, *bxe, *sx, *sxe;
-#ifdef Pack_32
- int32_t z;
- uint32_t si, zs;
-#endif
-
- n = S->wds;
-#ifdef CONFIG_DEBUG_LIB
- if (b->wds > n)
- {
- ldbg("oversize b in quorem\n");
- }
-#endif
- if (b->wds < n)
- {
- return 0;
- }
- sx = S->x;
- sxe = sx + --n;
- bx = b->x;
- bxe = bx + n;
- q = *bxe / (*sxe + 1); /* ensure q <= true quotient */
-#ifdef CONFIG_DEBUG_LIB
- if (q > 9)
- {
- ldbg("oversized quotient in quorem\n");
- }
-#endif
- if (q)
- {
- borrow = 0;
- carry = 0;
- do
- {
-#ifdef Pack_32
- si = *sx++;
- ys = (si & 0xffff) * q + carry;
- zs = (si >> 16) * q + (ys >> 16);
- carry = zs >> 16;
- y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- z = (*bx >> 16) - (zs & 0xffff) + borrow;
- borrow = z >> 16;
- Sign_Extend(borrow, z);
- Storeinc(bx, z, y);
-#else
- ys = *sx++ * q + carry;
- carry = ys >> 16;
- y = *bx - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- *bx++ = y & 0xffff;
-#endif
- }
- while (sx <= sxe);
- if (!*bxe)
- {
- bx = b->x;
- while (--bxe > bx && !*bxe)
- --n;
- b->wds = n;
- }
- }
- if (cmp(b, S) >= 0)
- {
- q++;
- borrow = 0;
- carry = 0;
- bx = b->x;
- sx = S->x;
- do
- {
-#ifdef Pack_32
- si = *sx++;
- ys = (si & 0xffff) + carry;
- zs = (si >> 16) + (ys >> 16);
- carry = zs >> 16;
- y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- z = (*bx >> 16) - (zs & 0xffff) + borrow;
- borrow = z >> 16;
- Sign_Extend(borrow, z);
- Storeinc(bx, z, y);
-#else
- ys = *sx++ + carry;
- carry = ys >> 16;
- y = *bx - (ys & 0xffff) + borrow;
- borrow = y >> 16;
- Sign_Extend(borrow, y);
- *bx++ = y & 0xffff;
-#endif
- }
- while (sx <= sxe);
- bx = b->x;
- bxe = bx + n;
- if (!*bxe)
- {
- while (--bxe > bx && !*bxe)
- --n;
- b->wds = n;
- }
- }
- return q;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/* dtoa for IEEE arithmetic (dmg): convert double to ASCII string.
- *
- * Inspired by "How to Print Floating-Point Numbers Accurately" by
- * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101].
- *
- * Modifications:
- * 1. Rather than iterating, we use a simple numeric overestimate
- * to determine k = floor(log10(d)). We scale relevant
- * quantities using O(log2(k)) rather than O(k) multiplications.
- * 2. For some modes > 2 (corresponding to ecvt and fcvt), we don't
- * try to generate digits strictly left to right. Instead, we
- * compute with fewer bits and propagate the carry if necessary
- * when rounding the final digit up. This is often faster.
- * 3. Under the assumption that input will be rounded nearest,
- * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22.
- * That is, we allow equality in stopping tests when the
- * round-nearest rule will give the same floating-point value
- * as would satisfaction of the stopping test with strict
- * inequality.
- * 4. We remove common factors of powers of 2 from relevant
- * quantities.
- * 5. When converting floating-point integers less than 1e16,
- * we use floating-point arithmetic rather than resorting
- * to multiple-precision integers.
- * 6. When asked to produce fewer than 15 digits, we first try
- * to get by with floating-point arithmetic; we resort to
- * multiple-precision integer arithmetic only if we cannot
- * guarantee that the floating-point calculation has given
- * the correctly rounded result. For k requested digits and
- * "uniformly" distributed input, the probability is
- * something like 10^(k-15) that we must resort to the int32_t
- * calculation.
- */
-
-char *__dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
-{
- /* Arguments ndigits, decpt, sign are similar to those of ecvt and fcvt;
- * trailing zeros are suppressed from the returned string. If not null, *rve
- * is set to point to the end of the return value. If d is +-Infinity or
- * NaN, then *decpt is set to 9999.
- *
- * mode: 0 ==> shortest string that yields d when read in and rounded to
- * nearest. 1 ==> like 0, but with Steele & White stopping rule; e.g. with
- * IEEE P754 arithmetic , mode 0 gives 1e23 whereas mode 1 gives
- * 9.999999999999999e22. 2 ==> max(1,ndigits) significant digits. This gives
- * a return value similar to that of ecvt, except that trailing zeros are
- * suppressed. 3 ==> through ndigits past the decimal point. This gives a
- * return value similar to that from fcvt, except that trailing zeros are
- * suppressed, and ndigits can be negative. 4-9 should give the same return
- * values as 2-3, i.e., 4 <= mode <= 9 ==> same return as mode 2 + (mode &
- * 1). These modes are mainly for debugging; often they run slower but
- * sometimes faster than modes 2-3. 4,5,8,9 ==> left-to-right digit
- * generation. 6-9 ==> don't try fast floating-point estimate (if
- * applicable).
- *
- * Values of mode other than 0-9 are treated as mode 0.
- *
- * Sufficient space is allocated to the return value to hold the suppressed
- * trailing zeros. */
-
- int bbits, b2, b5, be, dig, i, ieps, ilim = 0, ilim0, ilim1 = 0,
- j, j_1, k, k0, k_check, leftright, m2, m5, s2, s5, spec_case = 0, try_quick;
- long L;
- int denorm;
- unsigned long x;
- Bigint *b, *b1, *delta, *mlo = NULL, *mhi, *S;
- double d2, ds, eps;
- char *s, *s0;
- static Bigint *result;
- static int result_k;
-
- if (result)
- {
- result->k = result_k;
- result->maxwds = 1 << result_k;
- Bfree(result);
- result = 0;
- }
-
- if (word0(d) & Sign_bit)
- {
- /* set sign for everything, including 0's and NaNs */
- *sign = 1;
- word0(d) &= ~Sign_bit; /* clear sign bit */
- }
- else
- {
- *sign = 0;
- }
-
-#if defined(IEEE_Arith)
-# ifdef IEEE_Arith
- if ((word0(d) & Exp_mask) == Exp_mask)
-#else
- if (word0(d) == 0x8000)
-#endif
- {
- /* Infinity or NaN */
- *decpt = 9999;
- s =
-#ifdef IEEE_Arith
- !word1(d) && !(word0(d) & 0xfffff) ? "Infinity" :
-#endif
- "NaN";
- if (rve)
- *rve =
-#ifdef IEEE_Arith
- s[3] ? s + 8 :
-#endif
- s + 3;
- return s;
- }
-#endif
- if (!d)
- {
- *decpt = 1;
- s = "0";
- if (rve)
- *rve = s + 1;
- return s;
- }
-
- b = d2b(d, &be, &bbits);
- if ((i = (int)(word0(d) >> Exp_shift1 & (Exp_mask >> Exp_shift1))))
- {
- d2 = d;
- word0(d2) &= Frac_mask1;
- word0(d2) |= Exp_11;
-
- /* log(x) ~=~ log(1.5) + (x-1.5)/1.5 log10(x) = log(x) / log(10) ~=~
- * log(1.5)/log(10) + (x-1.5)/(1.5*log(10)) log10(d) =
- * (i-Bias)*log(2)/log(10) + log10(d2) This suggests computing an
- * approximation k to log10(d) by k = (i - Bias)*0.301029995663981 + (
- * (d2-1.5)*0.289529654602168 + 0.176091259055681 ); We want k to be too
- * large rather than too small. The error in the first-order Taylor
- * series approximation is in our favor, so we just round up the constant
- * enough to compensate for any error in the multiplication of (i - Bias)
- * by 0.301029995663981; since |i - Bias| <= 1077, and 1077 * 0.30103 *
- * 2^-52 ~=~ 7.2e-14, adding 1e-13 to the constant term more than
- * suffices. Hence we adjust the constant term to 0.1760912590558. (We
- * could get a more accurate k by invoking log10, but this is probably
- * not worthwhile.) */
-
- i -= Bias;
- denorm = 0;
- }
- else
- {
- /* d is denormalized */
-
- i = bbits + be + (Bias + (P - 1) - 1);
- x = i > 32 ? word0(d) << (64 - i) | word1(d) >> (i - 32)
- : word1(d) << (32 - i);
- d2 = x;
- word0(d2) -= 31 * Exp_msk1; /* adjust exponent */
- i -= (Bias + (P - 1) - 1) + 1;
- denorm = 1;
- }
-
- ds = (d2 - 1.5) * 0.289529654602168 + 0.1760912590558 + i * 0.301029995663981;
- k = (int)ds;
- if (ds < 0. && ds != k)
- {
- k--; /* want k = floor(ds) */
- }
- k_check = 1;
-
- if (k >= 0 && k <= Ten_pmax)
- {
- if (d < tens[k])
- k--;
- k_check = 0;
- }
-
- j = bbits - i - 1;
- if (j >= 0)
- {
- b2 = 0;
- s2 = j;
- }
- else
- {
- b2 = -j;
- s2 = 0;
- }
-
- if (k >= 0)
- {
- b5 = 0;
- s5 = k;
- s2 += k;
- }
- else
- {
- b2 -= k;
- b5 = -k;
- s5 = 0;
- }
-
- if (mode < 0 || mode > 9)
- {
- mode = 0;
- }
-
- try_quick = 1;
- if (mode > 5)
- {
- mode -= 4;
- try_quick = 0;
- }
-
- leftright = 1;
- switch (mode)
- {
- case 0:
- case 1:
- ilim = ilim1 = -1;
- i = 18;
- ndigits = 0;
- break;
-
- case 2:
- leftright = 0;
- /* no break */
- case 4:
- if (ndigits <= 0)
- {
- ndigits = 1;
- }
-
- ilim = ilim1 = i = ndigits;
- break;
-
- case 3:
- leftright = 0;
- /* no break */
- case 5:
- i = ndigits + k + 1;
- ilim = i;
- ilim1 = i - 1;
- if (i <= 0)
- {
- i = 1;
- }
- }
-
- j = sizeof(unsigned long);
- for (result_k = 0;
- (signed)(sizeof(Bigint) - sizeof(unsigned long) + j) <= i;
- j <<= 1)
- {
- result_k++;
- }
-
- result = Balloc(result_k);
- s = s0 = (char *)result;
-
- if (ilim >= 0 && ilim <= Quick_max && try_quick)
- {
- /* Try to get by with floating-point arithmetic. */
-
- i = 0;
- d2 = d;
- k0 = k;
- ilim0 = ilim;
- ieps = 2; /* conservative */
-
- if (k > 0)
- {
- ds = tens[k & 0xf];
- j = k >> 4;
-
- if (j & Bletch)
- {
- /* prevent overflows */
- j &= Bletch - 1;
- d /= bigtens[n_bigtens - 1];
- ieps++;
- }
-
- for (; j; j >>= 1, i++)
- {
- if (j & 1)
- {
- ieps++;
- ds *= bigtens[i];
- }
- }
-
- d /= ds;
- }
- else if ((j_1 = -k))
- {
- d *= tens[j_1 & 0xf];
- for (j = j_1 >> 4; j; j >>= 1, i++)
- {
- if (j & 1)
- {
- ieps++;
- d *= bigtens[i];
- }
- }
- }
-
- if (k_check && d < 1. && ilim > 0)
- {
- if (ilim1 <= 0)
- {
- goto fast_failed;
- }
-
- ilim = ilim1;
- k--;
- d *= 10.;
- ieps++;
- }
-
- eps = ieps * d + 7.;
- word0(eps) -= (P - 1) * Exp_msk1;
- if (ilim == 0)
- {
- S = mhi = 0;
- d -= 5.;
- if (d > eps)
- goto one_digit;
- if (d < -eps)
- goto no_digits;
- goto fast_failed;
- }
-
-#ifndef No_leftright
- if (leftright)
- {
- /* Use Steele & White method of only generating digits needed. */
-
- eps = 0.5 / tens[ilim - 1] - eps;
- for (i = 0;;)
- {
- L = (int)d;
- d -= L;
- *s++ = '0' + (int)L;
- if (d < eps)
- goto ret1;
- if (1. - d < eps)
- goto bump_up;
- if (++i >= ilim)
- break;
- eps *= 10.;
- d *= 10.;
- }
- }
- else
- {
-#endif
- /* Generate ilim digits, then fix them up. */
-
- eps *= tens[ilim - 1];
- for (i = 1;; i++, d *= 10.)
- {
- L = (int)d;
- d -= L;
- *s++ = '0' + (int)L;
- if (i == ilim)
- {
- if (d > 0.5 + eps)
- goto bump_up;
- else if (d < 0.5 - eps)
- {
- while (*--s == '0');
- s++;
- goto ret1;
- }
- break;
- }
- }
-#ifndef No_leftright
- }
-#endif
- fast_failed:
- s = s0;
- d = d2;
- k = k0;
- ilim = ilim0;
- }
-
- /* Do we have a "small" integer? */
-
- if (be >= 0 && k <= Int_max)
- {
- /* Yes. */
-
- ds = tens[k];
- if (ndigits < 0 && ilim <= 0)
- {
- S = mhi = 0;
- if (ilim < 0 || d <= 5 * ds)
- goto no_digits;
- goto one_digit;
- }
-
- for (i = 1;; i++)
- {
- L = (int)(d / ds);
- d -= L * ds;
-#ifdef Check_FLT_ROUNDS
- /* If FLT_ROUNDS == 2, L will usually be high by 1 */
- if (d < 0)
- {
- L--;
- d += ds;
- }
-#endif
- *s++ = '0' + (int)L;
- if (i == ilim)
- {
- d += d;
- if (d > ds || (d == ds && (L & 1)))
- {
- bump_up:
- while (*--s == '9')
- if (s == s0)
- {
- k++;
- *s = '0';
- break;
- }
- ++*s++;
- }
- break;
- }
- if (!(d *= 10.))
- {
- break;
- }
- }
-
- goto ret1;
- }
-
- m2 = b2;
- m5 = b5;
- mhi = mlo = 0;
- if (leftright)
- {
- if (mode < 2)
- {
- i = denorm ? be + (Bias + (P - 1) - 1 + 1) : 1 + P - bbits;
- }
- else
- {
- j = ilim - 1;
- if (m5 >= j)
- m5 -= j;
- else
- {
- s5 += j -= m5;
- b5 += j;
- m5 = 0;
- }
- if ((i = ilim) < 0)
- {
- m2 -= i;
- i = 0;
- }
- }
-
- b2 += i;
- s2 += i;
- mhi = i2b(1);
- }
-
- if (m2 > 0 && s2 > 0)
- {
- i = m2 < s2 ? m2 : s2;
- b2 -= i;
- m2 -= i;
- s2 -= i;
- }
-
- if (b5 > 0)
- {
- if (leftright)
- {
- if (m5 > 0)
- {
- mhi = pow5mult(mhi, m5);
- b1 = mult(mhi, b);
- Bfree(b);
- b = b1;
- }
- if ((j = b5 - m5))
- b = pow5mult(b, j);
- }
- else
- {
- b = pow5mult(b, b5);
- }
- }
-
- S = i2b(1);
- if (s5 > 0)
- {
- S = pow5mult(S, s5);
- }
-
- /* Check for special case that d is a normalized power of 2. */
-
- if (mode < 2)
- {
- if (!word1(d) && !(word0(d) & Bndry_mask) && word0(d) & Exp_mask)
- {
- /* The special case */
- b2 += Log2P;
- s2 += Log2P;
- spec_case = 1;
- }
- else
- {
- spec_case = 0;
- }
- }
-
- /* Arrange for convenient computation of quotients: shift left if
- * necessary so divisor has 4 leading 0 bits.
- *
- * Perhaps we should just compute leading 28 bits of S once and for all
- * and pass them and a shift to quorem, so it can do shifts and ors
- * to compute the numerator for q.
- */
-
-#ifdef Pack_32
- if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds - 1]) : 1) + s2) & 0x1f))
- {
- i = 32 - i;
- }
-#else
- if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds - 1]) : 1) + s2) & 0xf))
- {
- i = 16 - i;
- }
-#endif
-
- if (i > 4)
- {
- i -= 4;
- b2 += i;
- m2 += i;
- s2 += i;
- }
- else if (i < 4)
- {
- i += 28;
- b2 += i;
- m2 += i;
- s2 += i;
- }
-
- if (b2 > 0)
- {
- b = lshift(b, b2);
- }
-
- if (s2 > 0)
- {
- S = lshift(S, s2);
- }
-
- if (k_check)
- {
- if (cmp(b, S) < 0)
- {
- k--;
- b = multadd(b, 10, 0); /* we botched the k estimate */
- if (leftright)
- {
- mhi = multadd(mhi, 10, 0);
- }
-
- ilim = ilim1;
- }
- }
-
- if (ilim <= 0 && mode > 2)
- {
- if (ilim < 0 || cmp(b, S = multadd(S, 5, 0)) <= 0)
- {
- /* no digits, fcvt style */
- no_digits:
- k = -1 - ndigits;
- goto ret;
- }
- one_digit:
- *s++ = '1';
- k++;
- goto ret;
- }
-
- if (leftright)
- {
- if (m2 > 0)
- {
- mhi = lshift(mhi, m2);
- }
-
- /* Compute mlo -- check for special case that d is a normalized power of
- * 2. */
-
- mlo = mhi;
- if (spec_case)
- {
- mhi = Balloc(mhi->k);
- Bcopy(mhi, mlo);
- mhi = lshift(mhi, Log2P);
- }
-
- for (i = 1;; i++)
- {
- dig = quorem(b, S) + '0';
- /* Do we yet have the shortest decimal string that will round to d? */
- j = cmp(b, mlo);
- delta = diff(S, mhi);
- j_1 = delta->sign ? 1 : cmp(b, delta);
- Bfree(delta);
-#ifndef ROUND_BIASED
- if (j_1 == 0 && !mode && !(word1(d) & 1))
- {
- if (dig == '9')
- {
- goto round_9_up;
- }
-
- if (j > 0)
- {
- dig++;
- }
-
- *s++ = dig;
- goto ret;
- }
-#endif
- if (j < 0 || (j == 0 && !mode
-#ifndef ROUND_BIASED
- && (!(word1(d) & 1))
-#endif
- ))
- {
- if ((j_1 > 0))
- {
- b = lshift(b, 1);
- j_1 = cmp(b, S);
- if ((j_1 > 0 || (j_1 == 0 && (dig & 1))) && dig++ == '9')
- {
- goto round_9_up;
- }
- }
-
- *s++ = dig;
- goto ret;
- }
-
- if (j_1 > 0)
- {
- if (dig == '9')
- { /* possible if i == 1 */
- round_9_up:
- *s++ = '9';
- goto roundoff;
- }
-
- *s++ = dig + 1;
- goto ret;
- }
-
- *s++ = dig;
- if (i == ilim)
- {
- break;
- }
-
- b = multadd(b, 10, 0);
- if (mlo == mhi)
- {
- mlo = mhi = multadd(mhi, 10, 0);
- }
- else
- {
- mlo = multadd(mlo, 10, 0);
- mhi = multadd(mhi, 10, 0);
- }
- }
- }
- else
- {
- for (i = 1;; i++)
- {
- *s++ = dig = quorem(b, S) + '0';
- if (i >= ilim)
- {
- break;
- }
-
- b = multadd(b, 10, 0);
- }
- }
-
- /* Round off last digit */
-
- b = lshift(b, 1);
- j = cmp(b, S);
- if (j > 0 || (j == 0 && (dig & 1)))
- {
- roundoff:
- while (*--s == '9')
- if (s == s0)
- {
- k++;
- *s++ = '1';
- goto ret;
- }
- ++*s++;
- }
- else
- {
- while (*--s == '0');
- s++;
- }
-
-ret:
- Bfree(S);
- if (mhi)
- {
- if (mlo && mlo != mhi)
- {
- Bfree(mlo);
- }
-
- Bfree(mhi);
- }
-ret1:
- Bfree(b);
- if (s == s0)
- { /* don't return empty string */
- *s++ = '0';
- k = 0;
- }
-
- *s = 0;
- *decpt = k + 1;
- if (rve)
- {
- *rve = s;
- }
-
- return s0;
-}
diff --git a/nuttx/lib/stdio/lib_fclose.c b/nuttx/lib/stdio/lib_fclose.c
deleted file mode 100644
index 8cecb8af3..000000000
--- a/nuttx/lib/stdio/lib_fclose.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fclose.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fclose
- *
- * Description
- * The fclose() function will flush the stream pointed to by stream
- * (writing any buffered output data using lib_fflush()) and close the
- * underlying file descriptor.
- *
- * Returned Value:
- * Upon successful completion 0 is returned. Otherwise, EOF is returned
- * and the global variable errno is set to indicate the error. In either
- * case any further access (including another call to fclose()) to the
- * stream results in undefined behaviour.
- *
- ****************************************************************************/
-
-int fclose(FAR FILE *stream)
-{
- int err = EINVAL;
- int ret = ERROR;
- int status;
-
- /* Verify that a stream was provided. */
-
- if (stream)
- {
- /* Check that the underlying file descriptor corresponds to an an open
- * file.
- */
-
- ret = OK;
- if (stream->fs_filedes >= 0)
- {
- /* If the stream was opened for writing, then flush the stream */
-
- if ((stream->fs_oflags & O_WROK) != 0)
- {
- ret = lib_fflush(stream, true);
- err = errno;
- }
-
- /* Close the underlying file descriptor and save the return status */
-
- status = close(stream->fs_filedes);
-
- /* If close() returns an error but flush() did not then make sure
- * that we return the close() error condition.
- */
-
- if (ret == OK)
- {
- ret = status;
- err = errno;
- }
- }
-
-#if CONFIG_STDIO_BUFFER_SIZE > 0
- /* Destroy the semaphore */
-
- sem_destroy(&stream->fs_sem);
-
- /* Release the buffer */
-
- if (stream->fs_bufstart)
- {
- lib_free(stream->fs_bufstart);
- }
-
- /* Clear the whole structure */
-
- memset(stream, 0, sizeof(FILE));
-#else
-#if CONFIG_NUNGET_CHARS > 0
- /* Reset the number of ungetc characters */
-
- stream->fs_nungotten = 0;
-#endif
- /* Reset the flags */
-
- stream->fs_oflags = 0;
-#endif
- /* Setting the fs_filedescriptor to -1 makes the stream available for reuse */
-
- stream->fs_filedes = -1;
- }
-
- /* On an error, reset the errno to the first error encountered and return
- * EOF.
- */
-
- if (ret != OK)
- {
- set_errno(err);
- return EOF;
- }
-
- /* Return success */
-
- return OK;
-}
-
diff --git a/nuttx/lib/stdio/lib_feof.c b/nuttx/lib/stdio/lib_feof.c
deleted file mode 100644
index e44c6a3c9..000000000
--- a/nuttx/lib/stdio/lib_feof.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_feof.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-
-#if CONFIG_NFILE_STREAMS > 0
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: feof
- *
- * Description:
- * The feof() function shall test if the currently file pointer for the
- * stream is at the end of file.
- *
- * Returned Value:
- * This function will return non-zero if the the file pointer is positioned
- * at the end of file.
- *
- ****************************************************************************/
-
-int feof(FILE *stream)
-{
- /* If the end-of-file condition is encountered by any of the C-buffered
- * I/O functions that perform read operations, they should set the
- * __FS_FLAG_EOF in the fs_flags field of struct file_struct.
- */
-
- return (stream->fs_flags & __FS_FLAG_EOF) != 0;
-}
-
-#endif /* CONFIG_NFILE_STREAMS */
-
diff --git a/nuttx/lib/stdio/lib_ferror.c b/nuttx/lib/stdio/lib_ferror.c
deleted file mode 100644
index 4ad7d8cfc..000000000
--- a/nuttx/lib/stdio/lib_ferror.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_ferror.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-
-#if CONFIG_NFILE_STREAMS > 0
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: ferror
- *
- * Description:
- * This function will test if the last operation resulted in an eror. This
- * is used to disambiguate EOF and error conditions.
- *
- * Return Value:
- * A non-zero value is returned to indicate the error condition.
- *
- ****************************************************************************/
-
-int ferror(FILE *stream)
-{
-#if 0
- /* If an error is encountered by any of the C-buffered I/O functions, they
- * should set the __FS_FLAG_ERROR in the fs_flags field of struct
- * file_struct.
- */
-
- return (stream->fs_flags & __FS_FLAG_ERROR) != 0;
-#else
- /* However, nothing currenlty sets the __FS_FLAG_ERROR flag (that is a job
- * for another day). The __FS_FLAG_EOF is set by operations that perform
- * read operations. Since ferror() is probably only called to disambiguate
- * the meaning of other functions that return EOF, to indicate either EOF or
- * an error, just testing for not EOF is probably sufficient for now.
- *
- * This approach would not work if ferror() is called in other contexts. In
- * those cases, ferror() will always report an error.
- */
-
- return (stream->fs_flags & __FS_FLAG_EOF) == 0;
-#endif
-}
-
-#endif /* CONFIG_NFILE_STREAMS */
-
diff --git a/nuttx/lib/stdio/lib_fflush.c b/nuttx/lib/stdio/lib_fflush.c
deleted file mode 100644
index d0b5e0185..000000000
--- a/nuttx/lib/stdio/lib_fflush.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fflush.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fflush
- *
- * Description:
- * The function fflush() forces a write of all user-space buffered data for
- * the given output or update stream via the stream's underlying write
- * function. The open status of the stream is unaffected.
- *
- * If the stream argument is NULL, fflush() flushes all open output streams.
- *
- * Return:
- * OK on success EOF on failure (with errno set appropriately)
- *
- ****************************************************************************/
-
-int fflush(FAR FILE *stream)
-{
- int ret;
-
- /* Is the stream argument NULL? */
-
- if (!stream)
- {
- /* Yes... then this is a request to flush all streams */
-
- ret = lib_flushall(sched_getstreams());
- }
- else
- {
- ret = lib_fflush(stream, true);
- }
-
- /* Check the return value */
-
- if (ret < 0)
- {
- /* An error occurred during the flush AND/OR we were unable to flush
- * all of the buffered write data. Set the errno value.
- */
-
- set_errno(-ret);
-
- /* And return EOF on failure. */
-
- return EOF;
- }
-
- return OK;
-}
-
diff --git a/nuttx/lib/stdio/lib_fgetc.c b/nuttx/lib/stdio/lib_fgetc.c
deleted file mode 100644
index 4b3d0ec44..000000000
--- a/nuttx/lib/stdio/lib_fgetc.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fgetc.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/**************************************************************************
- * Global Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/**************************************************************************
- * Private Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Private Variables
- **************************************************************************/
-
-/****************************************************************************
- * Global Functions
- **************************************************************************/
-
-/****************************************************************************
- * fgetc
- **************************************************************************/
-
-int fgetc(FAR FILE *stream)
-{
- unsigned char ch;
- ssize_t ret;
-
- ret = lib_fread(&ch, 1, stream);
- if (ret > 0)
- {
- return ch;
- }
- else
- {
- return EOF;
- }
-}
diff --git a/nuttx/lib/stdio/lib_fgetpos.c b/nuttx/lib/stdio/lib_fgetpos.c
deleted file mode 100644
index e9e9f4d10..000000000
--- a/nuttx/lib/stdio/lib_fgetpos.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fgetpos.c
- *
- * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fgetpos
- *
- * Description:
- * fgetpos() function is an alternate interfaces equivalent to ftell().
- * It gets the current value of the file offset and store it in the location
- * referenced by pos. On some non-UNIX systems an fpos_t object may be a
- * complex object and fsetpos may be the only way to portably reposition a
- * stream.
- *
- * Returned Value:
- * Zero on succes; -1 on failure with errno set appropriately.
- *
- ****************************************************************************/
-
-int fgetpos(FAR FILE *stream, FAR fpos_t *pos)
-{
- long position;
-
-#if CONFIG_DEBUG
- if (!stream || !pos)
- {
- set_errno(EINVAL);
- return ERROR;
- }
-#endif
-
- position = ftell(stream);
- if (position == -1)
- {
- return ERROR;
- }
-
- *pos = (fpos_t)position;
- return OK;
-}
diff --git a/nuttx/lib/stdio/lib_fgets.c b/nuttx/lib/stdio/lib_fgets.c
deleted file mode 100644
index a4f9089ed..000000000
--- a/nuttx/lib/stdio/lib_fgets.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fgets.c
- *
- * Copyright (C) 2007-2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <ctype.h>
-#include <debug.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-/* Some environments may return CR as end-of-line, others LF, and others
- * both. If not specified, the logic here assumes either (but not both) as
- * the default.
- */
-
-#if defined(CONFIG_EOL_IS_CR)
-# undef CONFIG_EOL_IS_LF
-# undef CONFIG_EOL_IS_BOTH_CRLF
-# undef CONFIG_EOL_IS_EITHER_CRLF
-#elif defined(CONFIG_EOL_IS_LF)
-# undef CONFIG_EOL_IS_CR
-# undef CONFIG_EOL_IS_BOTH_CRLF
-# undef CONFIG_EOL_IS_EITHER_CRLF
-#elif defined(CONFIG_EOL_IS_BOTH_CRLF)
-# undef CONFIG_EOL_IS_CR
-# undef CONFIG_EOL_IS_LF
-# undef CONFIG_EOL_IS_EITHER_CRLF
-#elif defined(CONFIG_EOL_IS_EITHER_CRLF)
-# undef CONFIG_EOL_IS_CR
-# undef CONFIG_EOL_IS_LF
-# undef CONFIG_EOL_IS_BOTH_CRLF
-#else
-# undef CONFIG_EOL_IS_CR
-# undef CONFIG_EOL_IS_LF
-# undef CONFIG_EOL_IS_BOTH_CRLF
-# define CONFIG_EOL_IS_EITHER_CRLF 1
-#endif
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fgets
- *
- * Description:
- * fgets() reads in at most one less than 'buflen' characters from stream
- * and stores them into the buffer pointed to by 'buf'. Reading stops after
- * an EOF or a newline. If a newline is read, it is stored into the
- * buffer. A null terminator is stored after the last character in the
- * buffer.
- *
- **************************************************************************/
-
-char *fgets(FAR char *buf, int buflen, FILE *stream)
-{
- int nch = 0;
-
- /* Sanity checks */
-
- if (!stream || !buf || buflen < 1 || stream->fs_filedes < 0)
- {
- return NULL;
- }
-
- if (buflen < 2)
- {
- *buf = '\0';
- return buf;
- }
-
- /* Read characters until we have a full line. On each the loop we must
- * be assured that there are two free bytes in the line buffer: One for
- * the next character and one for the null terminator.
- */
-
- for(;;)
- {
- /* Get the next character */
-
- int ch = fgetc(stream);
-
- /* Check for end-of-line. This is tricky only in that some
- * environments may return CR as end-of-line, others LF, and
- * others both.
- */
-
-#if defined(CONFIG_EOL_IS_LF) || defined(CONFIG_EOL_IS_BOTH_CRLF)
- if (ch == '\n')
-#elif defined(CONFIG_EOL_IS_CR)
- if (ch == '\r')
-#elif CONFIG_EOL_IS_EITHER_CRLF
- if (ch == '\n' || ch == '\r')
-#endif
- {
- /* The newline is stored in the buffer along with the null
- * terminator.
- */
-
- buf[nch++] = '\n';
- buf[nch] = '\0';
- return buf;
- }
-
- /* Check for end-of-file */
-
- else if (ch == EOF)
- {
- /* End of file with no data? */
-
- if (!nch)
- {
- /* Yes.. return NULL as the end of file mark */
-
- return NULL;
- }
- else
- {
- /* Terminate the line */
-
- buf[nch] = '\0';
- return buf;
- }
- }
-
- /* Otherwise, check if the character is printable and, if so, put the
- * character in the line buffer
- */
-
- else if (isprint(ch))
- {
- buf[nch++] = ch;
-
- /* Check if there is room for another character and the line's
- * null terminator. If not then we have to end the line now.
- */
-
- if (nch + 1 >= buflen)
- {
- buf[nch] = '\0';
- return buf;
- }
- }
- }
-}
-
diff --git a/nuttx/lib/stdio/lib_fileno.c b/nuttx/lib/stdio/lib_fileno.c
deleted file mode 100644
index fca08fc0d..000000000
--- a/nuttx/lib/stdio/lib_fileno.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fileno.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-
-#if CONFIG_NFILE_STREAMS > 0
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-int fileno(FAR FILE *stream)
-{
- int ret = -1;
- if (stream)
- {
- ret = stream->fs_filedes;
- }
-
- if (ret < 0)
- {
- set_errno(EBADF);
- return ERROR;
- }
-
- return ret;
-}
-#endif /* CONFIG_NFILE_STREAMS */
-
diff --git a/nuttx/lib/stdio/lib_fopen.c b/nuttx/lib/stdio/lib_fopen.c
deleted file mode 100644
index 29ff4569c..000000000
--- a/nuttx/lib/stdio/lib_fopen.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fopen.c
- *
- * Copyright (C) 2007-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Types
- ****************************************************************************/
-
-enum open_mode_e
-{
- MODE_NONE = 0, /* No access mode determined */
- MODE_R, /* "r" or "rb" open for reading */
- MODE_W, /* "w" or "wb" open for writing, truncating or creating file */
- MODE_A, /* "a" or "ab" open for writing, appending to file */
- MODE_RPLUS, /* "r+", "rb+", or "r+b" open for update (reading and writing) */
- MODE_WPLUS, /* "w+", "wb+", or "w+b" open for update, truncating or creating file */
- MODE_APLUS /* "a+", "ab+", or "a+b" open for update, appending to file */
-};
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_mode2oflags
- ****************************************************************************/
-
-static int lib_mode2oflags(FAR const char *mode)
-{
- enum open_mode_e state;
- int oflags;
-
- /* Verify that a mode string was provided. No error is */
-
- if (!mode)
- {
- goto errout;
- }
-
- /* Parse the mode string to determine the corresponding open flags */
-
- state = MODE_NONE;
- oflags = 0;
-
- for (; *mode; mode++)
- {
- switch (*mode)
- {
- /* Open for read access ("r", "r[+]", "r[b]", "r[b+]", or "r[+b]") */
-
- case 'r' :
- if (state == MODE_NONE)
- {
- /* Open for read access */
-
- oflags = O_RDOK;
- state = MODE_R;
- }
- else
- {
- goto errout;
- }
- break;
-
- /* Open for write access ("w", "w[+]", "w[b]", "w[b+]", or "w[+b]") */
-
- case 'w' :
- if (state == MODE_NONE)
- {
- /* Open for write access, truncating any existing file */
-
- oflags = O_WROK|O_CREAT|O_TRUNC;
- state = MODE_W;
- }
- else
- {
- goto errout;
- }
- break;
-
- /* Open for write/append access ("a", "a[+]", "a[b]", "a[b+]", or "a[+b]") */
-
- case 'a' :
- if (state == MODE_NONE)
- {
- /* Write to the end of the file */
-
- oflags = O_WROK|O_CREAT|O_APPEND;
- state = MODE_A;
- }
- else
- {
- goto errout;
- }
- break;
-
- /* Open for update access ("[r]+", "[rb]+]", "[r]+[b]", "[w]+",
- * "[wb]+]", "[w]+[b]", "[a]+", "[ab]+]", "[a]+[b]")
- */
-
- case '+' :
- switch (state)
- {
- case MODE_R:
- {
- /* Retain any binary mode selection */
-
- oflags &= O_BINARY;
-
- /* Open for read/write access */
-
- oflags |= O_RDWR;
- state = MODE_RPLUS;
- }
- break;
-
- case MODE_W:
- {
- /* Retain any binary mode selection */
-
- oflags &= O_BINARY;
-
- /* Open for write read/access, truncating any existing file */
-
- oflags |= O_RDWR|O_CREAT|O_TRUNC;
- state = MODE_WPLUS;
- }
- break;
-
- case MODE_A:
- {
- /* Retain any binary mode selection */
-
- oflags &= O_BINARY;
-
- /* Read from the beginning of the file; write to the end */
-
- oflags |= O_RDWR|O_CREAT|O_APPEND;
- state = MODE_APLUS;
- }
- break;
-
- default:
- goto errout;
- break;
- }
- break;
-
- /* Open for binary access ("[r]b", "[r]b[+]", "[r+]b", "[w]b",
- * "[w]b[+]", "[w+]b", "[a]b", "[a]b[+]", "[a+]b")
- */
-
- case 'b' :
- if (state != MODE_NONE)
- {
- /* The file is opened in binary mode */
-
- oflags |= O_BINARY;
- }
- else
- {
- goto errout;
- }
- break;
-
- /* Unrecognized or unsupported mode */
-
- default:
- goto errout;
- break;
- }
- }
-
- return oflags;
-
-/* Both fopen and fdopen should fail with errno == EINVAL if the mode
- * string is invalid.
- */
-
-errout:
- set_errno(EINVAL);
- return ERROR;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fdopen
- ****************************************************************************/
-
-FAR FILE *fdopen(int fd, FAR const char *mode)
-{
- FAR FILE *ret = NULL;
- int oflags;
-
- /* Map the open mode string to open flags */
-
- oflags = lib_mode2oflags(mode);
- if (oflags >= 0)
- {
- ret = fs_fdopen(fd, oflags, NULL);
- }
-
- return ret;
-}
-
-/****************************************************************************
- * Name: fopen
- ****************************************************************************/
-
-FAR FILE *fopen(FAR const char *path, FAR const char *mode)
-{
- FAR FILE *ret = NULL;
- int oflags;
- int fd;
-
- /* Map the open mode string to open flags */
-
- oflags = lib_mode2oflags(mode);
- if (oflags < 0)
- {
- return NULL;
- }
-
- /* Open the file */
-
- fd = open(path, oflags, 0666);
-
- /* If the open was successful, then fdopen() the fil using the file
- * desciptor returned by open. If open failed, then just return the
- * NULL stream -- open() has already set the errno.
- */
-
- if (fd >= 0)
- {
- ret = fs_fdopen(fd, oflags, NULL);
- if (!ret)
- {
- /* Don't forget to close the file descriptor if any other
- * failures are reported by fdopen().
- */
-
- (void)close(fd);
- }
- }
- return ret;
-}
diff --git a/nuttx/lib/stdio/lib_fprintf.c b/nuttx/lib/stdio/lib_fprintf.c
deleted file mode 100644
index a803de4bd..000000000
--- a/nuttx/lib/stdio/lib_fprintf.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fprintf.c
- *
- * Copyright (C) 2007, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fprintf
- ****************************************************************************/
-
-int fprintf(FAR FILE *stream, FAR const char *fmt, ...)
-{
- va_list ap;
- int n;
-
- /* vfprintf into the stream */
-
- va_start(ap, fmt);
- n = vfprintf(stream, fmt, ap);
- va_end(ap);
- return n;
-}
diff --git a/nuttx/lib/stdio/lib_fputc.c b/nuttx/lib/stdio/lib_fputc.c
deleted file mode 100644
index 121161f10..000000000
--- a/nuttx/lib/stdio/lib_fputc.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fputc.c
- *
- * Copyright (C) 2007, 2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fputc
- ****************************************************************************/
-
-int fputc(int c, FAR FILE *stream)
-{
- unsigned char buf = (unsigned char)c;
- int ret;
-
- ret = lib_fwrite(&buf, 1, stream);
- if (ret > 0)
- {
- /* Flush the buffer if a newline is output */
-
-#ifdef CONFIG_STDIO_LINEBUFFER
- if (c == '\n')
- {
- ret = lib_fflush(stream, true);
- if (ret < 0)
- {
- return EOF;
- }
- }
-#endif
- return c;
- }
- else
- {
- return EOF;
- }
-}
diff --git a/nuttx/lib/stdio/lib_fputs.c b/nuttx/lib/stdio/lib_fputs.c
deleted file mode 100644
index 2d6217d4a..000000000
--- a/nuttx/lib/stdio/lib_fputs.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fputs.c
- *
- * Copyright (C) 2007, 2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
-#include <nuttx/arch.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fputs
- *
- * Description:
- * fputs() writes the string s to stream, without its trailing '\0'.
- *
- ****************************************************************************/
-
-#if defined(CONFIG_ARCH_ROMGETC)
-int fputs(FAR const char *s, FAR FILE *stream)
-{
- int nput;
- int ret;
- char ch;
-
- /* Make sure that a string was provided. */
-
-#ifdef CONFIG_DEBUG /* Most parameter checking is disabled if DEBUG is off */
- if (!s)
- {
- set_errno(EINVAL);
- return EOF;
- }
-#endif
-
- /* Write the string. Loop until the null terminator is encountered */
-
- for (nput = 0, ch = up_romgetc(s); ch; nput++, s++, ch = up_romgetc(s))
- {
- /* Write the next character to the stream buffer */
-
- ret = lib_fwrite(&ch, 1, stream);
- if (ret <= 0)
- {
- return EOF;
- }
-
- /* Flush the buffer if a newline was written to the buffer */
-
-#ifdef CONFIG_STDIO_LINEBUFFER
- if (ch == '\n')
- {
- ret = lib_fflush(stream, true);
- if (ret < 0)
- {
- return EOF;
- }
- }
-#endif
- }
-
- return nput;
-}
-
-#elif defined(CONFIG_STDIO_LINEBUFFER)
-int fputs(FAR const char *s, FAR FILE *stream)
-{
- int nput;
- int ret;
-
- /* Make sure that a string was provided. */
-
-#ifdef CONFIG_DEBUG /* Most parameter checking is disabled if DEBUG is off */
- if (!s)
- {
- set_errno(EINVAL);
- return EOF;
- }
-#endif
-
- /* Write the string. Loop until the null terminator is encountered */
-
- for (nput = 0; *s; nput++, s++)
- {
- /* Write the next character to the stream buffer */
-
- ret = lib_fwrite(s, 1, stream);
- if (ret <= 0)
- {
- return EOF;
- }
-
- /* Flush the buffer if a newline was written to the buffer */
-
- if (*s == '\n')
- {
- ret = lib_fflush(stream, true);
- if (ret < 0)
- {
- return EOF;
- }
- }
- }
-
- return nput;
-}
-
-#else
-int fputs(FAR const char *s, FAR FILE *stream)
-{
- int ntowrite;
- int nput;
-
- /* Make sure that a string was provided. */
-
-#ifdef CONFIG_DEBUG /* Most parameter checking is disabled if DEBUG is off */
- if (!s)
- {
- set_errno(EINVAL);
- return EOF;
- }
-#endif
-
- /* Get the length of the string. */
-
- ntowrite = strlen(s);
- if (ntowrite == 0)
- {
- return 0;
- }
-
- /* Write the string */
-
- nput = lib_fwrite(s, ntowrite, stream);
- if (nput < 0)
- {
- return EOF;
- }
- return nput;
-}
-#endif
diff --git a/nuttx/lib/stdio/lib_fread.c b/nuttx/lib/stdio/lib_fread.c
deleted file mode 100644
index 4a4b29256..000000000
--- a/nuttx/lib/stdio/lib_fread.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fread.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdio.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fread
- ****************************************************************************/
-
-size_t fread(FAR void *ptr, size_t size, size_t n_items, FAR FILE *stream)
-{
- size_t full_size = n_items * (size_t)size;
- ssize_t bytes_read;
- size_t items_read = 0;
-
- /* Write the data into the stream buffer */
-
- bytes_read = lib_fread(ptr, full_size, stream);
- if (bytes_read > 0)
- {
- /* Return the number of full items read */
-
- items_read = bytes_read / size;
- }
- return items_read;
-}
-
-
diff --git a/nuttx/lib/stdio/lib_fseek.c b/nuttx/lib/stdio/lib_fseek.c
deleted file mode 100644
index 7380f83b3..000000000
--- a/nuttx/lib/stdio/lib_fseek.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fseek.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fseek
- *
- * Description:
- * The fseek() function sets the file position indicator for the stream
- * pointed to by stream. The new position, measured in bytes, is obtained
- * by adding offset bytes to the position specified by whence. If whence is
- * set to SEEK_SET, SEEK_CUR, or SEEK_END, the offset is relative to the
- * start of the file, the current position indicator, or end-of-file,
- * respectively. A successful call to the fseek() function clears the
- * end-of-file indicator for the stream and undoes any effects of the ungetc(3)
- * function on the same stream.
- *
- * Returned Value:
- * Zero on succes; -1 on failure with errno set appropriately.
- *
- ****************************************************************************/
-
-int fseek(FAR FILE *stream, long int offset, int whence)
-{
- #if CONFIG_STDIO_BUFFER_SIZE > 0
- /* Flush any valid read/write data in the buffer (also verifies stream) */
-
- if (lib_rdflush(stream) < 0 || lib_wrflush(stream) < 0)
- {
- return ERROR;
- }
-#else
- /* Verify that we were provided with a stream */
-
- if (!stream)
- {
- set_errno(EBADF);
- return ERROR;
- }
-#endif
-
- /* On success or failure, discard any characters saved by ungetc() */
-
-#if CONFIG_NUNGET_CHARS > 0
- stream->fs_nungotten = 0;
-#endif
-
- /* Perform the fseek on the underlying file descriptor */
-
- return lseek(stream->fs_filedes, offset, whence) == (off_t)-1 ? ERROR : OK;
-}
-
-
diff --git a/nuttx/lib/stdio/lib_fsetpos.c b/nuttx/lib/stdio/lib_fsetpos.c
deleted file mode 100644
index 13d556521..000000000
--- a/nuttx/lib/stdio/lib_fsetpos.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fsetpos.c
- *
- * Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fsetpos
- *
- * Description:
- * fsetpos() function is an alternate interfaces equivalent to fseek()
- * (with whence set to SEEK_SET). It sets the current value of the file
- * offset to value in the location referenced by pos. On some non-UNIX
- * systems an fpos_t object may be a complex object and fsetpos may be the
- * only way to portably reposition a stream.
- *
- * Returned Value:
- * Zero on succes; -1 on failure with errno set appropriately.
- *
- ****************************************************************************/
-
-int fsetpos(FAR FILE *stream, FAR fpos_t *pos)
-{
-#if CONFIG_DEBUG
- if (!stream || !pos)
- {
- set_errno(EINVAL);
- return ERROR;
- }
-#endif
-
- return fseek(stream, (FAR off_t)*pos, SEEK_SET);
-}
diff --git a/nuttx/lib/stdio/lib_ftell.c b/nuttx/lib/stdio/lib_ftell.c
deleted file mode 100644
index 947648152..000000000
--- a/nuttx/lib/stdio/lib_ftell.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_ftell.c
- *
- * Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: ftell
- *
- * Description:
- * ftell() returns the current value of the file position indicator for the
- * stream pointed to by stream.
- *
- * Returned Value:
- * Zero on succes; -1 on failure with errno set appropriately.
- *
- ****************************************************************************/
-
-long ftell(FAR FILE *stream)
-{
- off_t position;
-
- /* Verify that we were provided with a stream */
-
- if (!stream)
- {
- set_errno(EBADF);
- return ERROR;
- }
-
- /* Perform the lseek to the current position. This will not move the
- * file pointer, but will return its current setting
- */
-
- position = lseek(stream->fs_filedes, 0, SEEK_CUR);
- if (position != (off_t)-1)
- {
- return (long)position;
- }
- else
- {
- return ERROR;
- }
-}
-
-
diff --git a/nuttx/lib/stdio/lib_fwrite.c b/nuttx/lib/stdio/lib_fwrite.c
deleted file mode 100644
index 60e001746..000000000
--- a/nuttx/lib/stdio/lib_fwrite.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_fwrite.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdio.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: fwrite
- ****************************************************************************/
-
-size_t fwrite(FAR const void *ptr, size_t size, size_t n_items, FAR FILE *stream)
-{
- size_t full_size = n_items * (size_t)size;
- ssize_t bytes_written;
- size_t items_written = 0;
-
- /* Write the data into the stream buffer */
-
- bytes_written = lib_fwrite(ptr, full_size, stream);
- if (bytes_written > 0)
- {
- /* Return the number of full items written */
-
- items_written = bytes_written / size;
- }
- return items_written;
-}
diff --git a/nuttx/lib/stdio/lib_gets.c b/nuttx/lib/stdio/lib_gets.c
deleted file mode 100644
index 95a6b36eb..000000000
--- a/nuttx/lib/stdio/lib_gets.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_gets.c
- *
- * Copyright (C) 2007-2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include <limits.h>
-#include <string.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: gets
- *
- * Description:
- * gets() reads a line from stdin into the buffer pointed to by s until
- * either a terminating newline or EOF, which it replaces with '\0'. No
- * check for buffer overrun is performed
- *
- * This API should not be used because it is inherently unsafe. Consider
- * using fgets which is safer and slightly more efficient.
- *
- **************************************************************************/
-
-FAR char *gets(FAR char *s)
-{
- /* gets is ALMOST the same as fgets using stdin and no length limit
- * (hence, the unsafeness of gets). So let fgets do most of the work.
- */
-
- FAR char *ret = fgets(s, INT_MAX, stdin);
- if (ret)
- {
- /* Another subtle difference from fgets is that gets replaces
- * end-of-line markers with null terminators. We will do that as
- * a second step (with some loss in performance).
- */
-
- int len = strlen(ret);
- if (len > 0 && ret[len-1] == '\n')
- {
- ret[len-1] = '\0';
- }
- }
-
- return ret;
-}
-
diff --git a/nuttx/lib/stdio/lib_libdtoa.c b/nuttx/lib/stdio/lib_libdtoa.c
deleted file mode 100644
index 667c49c53..000000000
--- a/nuttx/lib/stdio/lib_libdtoa.c
+++ /dev/null
@@ -1,304 +0,0 @@
-/****************************************************************************
- * lib/unistd/lib_libdtoa.c
- *
- * This file was ported to NuttX by Yolande Cates.
- *
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Chris Torek.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#define MAX_PREC 16
-
-#ifndef MIN
-# define MIN(a,b) (a < b ? a : b)
-#endif
-
-#ifndef MAX
-# define MAX(a,b) (a > b ? a : b)
-#endif
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Name: zeroes
- *
- * Description:
- * Print the specified number of zeres
- *
- ****************************************************************************/
-
-static void zeroes(FAR struct lib_outstream_s *obj, int nzeroes)
-{
- int i;
-
- for (i = nzeroes; i > 0; i--)
- {
- obj->put(obj, '0');
- }
-}
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_dtoa
- *
- * Description:
- * This is part of lib_vsprintf(). It handles the floating point formats.
- * This version supports only the %f (with precision). If no precision
- * was provided in the format, this will use precision == 0 which is
- * probably not what you want.
- *
- * Input Parameters:
- * obj - The output stream object
- * fmt - The format character. Not used 'f' is always assumed
- * prec - The number of digits to the right of the decimal point. If no
- * precision is provided in the format, this will be zero. And,
- * unfortunately in this case, it will be treated literally as
- * a precision of zero.
- * flags - Only ALTFORM and SHOWPLUS flags are supported. ALTFORM only
- * applies if prec == 0 which is not supported anyway.
- * value - The floating point value to convert.
- *
- ****************************************************************************/
-
-static void lib_dtoa(FAR struct lib_outstream_s *obj, int fmt, int prec,
- uint8_t flags, double value)
-{
- FAR char *digits; /* String returned by __dtoa */
- FAR char *digalloc; /* Copy of digits to be freed after usage */
- FAR char *rve; /* Points to the end of the return value */
- int expt; /* Integer value of exponent */
- int numlen; /* Actual number of digits returned by cvt */
- int nchars; /* Number of characters to print */
- int dsgn; /* Unused sign indicator */
- int i;
-
- /* Non-zero... positive or negative */
-
- if (value < 0)
- {
- value = -value;
- SET_NEGATE(flags);
- }
-
- /* Perform the conversion */
-
- digits = __dtoa(value, 3, prec, &expt, &dsgn, &rve);
- digalloc = digits;
- numlen = rve - digits;
-
- if (IS_NEGATE(flags))
- {
- obj->put(obj, '-');
- }
- else if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- }
-
- /* Special case exact zero or the case where the number is smaller than
- * the print precision.
- */
-
- if (value == 0 || expt < -prec)
- {
- /* kludge for __dtoa irregularity */
-
- obj->put(obj, '0');
-
- /* A decimal point is printed only in the alternate form or if a
- * particular precision is requested.
- */
-
- if (prec > 0 || IS_ALTFORM(flags))
- {
- obj->put(obj, '.');
-
- /* Always print at least one digit to the right of the decimal point. */
-
- prec = MAX(1, prec);
- }
- }
-
- /* A non-zero value will be printed */
-
- else
- {
-
- /* Handle the case where the value is less than 1.0 (in magnitude) and
- * will need a leading zero.
- */
-
- if (expt <= 0)
- {
- /* Print a single zero to the left of the decimal point */
-
- obj->put(obj, '0');
-
- /* Print the decimal point */
-
- obj->put(obj, '.');
-
- /* Print any leading zeros to the right of the decimal point */
-
- if (expt < 0)
- {
- nchars = MIN(-expt, prec);
- zeroes(obj, nchars);
- prec -= nchars;
- }
- }
-
- /* Handle the general case where the value is greater than 1.0 (in
- * magnitude).
- */
-
- else
- {
- /* Print the integer part to the left of the decimal point */
-
- for (i = expt; i > 0; i--)
- {
- if (*digits != '\0')
- {
- obj->put(obj, *digits);
- digits++;
- }
- else
- {
- obj->put(obj, '0');
- }
- }
-
- /* Get the length of the fractional part */
-
- numlen -= expt;
-
- /* If there is no fractional part, then a decimal point is printed
- * only in the alternate form or if a particular precision is
- * requested.
- */
-
- if (numlen > 0 || prec > 0 || IS_ALTFORM(flags))
- {
- /* Print the decimal point */
-
- obj->put(obj, '.');
-
- /* Always print at least one digit to the right of the decimal
- * point.
- */
-
- prec = MAX(1, prec);
- }
- }
-
- /* If a precision was specified, then limit the number digits to the
- * right of the decimal point.
- */
-
- if (prec > 0)
- {
- nchars = MIN(numlen, prec);
- }
- else
- {
- nchars = numlen;
- }
-
- /* Print the fractional part to the right of the decimal point */
-
- for (i = nchars; i > 0; i--)
- {
- obj->put(obj, *digits);
- digits++;
- }
-
- /* Decremnt to get the number of trailing zeroes to print */
-
- prec -= nchars;
- }
-
- /* Finally, print any trailing zeroes */
-
- zeroes(obj, prec);
-
- /* Is this memory supposed to be freed or not? */
-
-#if 0
- if (digalloc)
- {
- free(digalloc);
- }
-#endif
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
diff --git a/nuttx/lib/stdio/lib_libfflush.c b/nuttx/lib/stdio/lib_libfflush.c
deleted file mode 100644
index 2a4fe2932..000000000
--- a/nuttx/lib/stdio/lib_libfflush.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_libfflush.c
- *
- * Copyright (C) 2007-2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdbool.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_fflush
- *
- * Description:
- * The function lib_fflush() forces a write of all user-space buffered data for
- * the given output or update stream via the stream's underlying write
- * function. The open status of the stream is unaffected.
- *
- * Parmeters:
- * stream - the stream to flush
- * bforce - flush must be complete.
- *
- * Return:
- * A negated errno value on failure, otherwise the number of bytes remaining
- * in the buffer.
- *
- ****************************************************************************/
-
-ssize_t lib_fflush(FAR FILE *stream, bool bforce)
-{
-#if CONFIG_STDIO_BUFFER_SIZE > 0
- FAR const unsigned char *src;
- ssize_t bytes_written;
- ssize_t nbuffer;
-
- /* Return EBADF if the file is not opened for writing */
-
- if (stream->fs_filedes < 0 || (stream->fs_oflags & O_WROK) == 0)
- {
- return -EBADF;
- }
-
- /* Make sure that we have exclusive access to the stream */
-
- lib_take_semaphore(stream);
-
- /* Make sure that the buffer holds valid data */
-
- if (stream->fs_bufpos != stream->fs_bufstart)
- {
- /* Make sure that the buffer holds buffered write data. We do not
- * support concurrent read/write buffer usage.
- */
-
- if (stream->fs_bufread != stream->fs_bufstart)
- {
- /* The buffer holds read data... just return zero meaning "no bytes
- * remaining in the buffer."
- */
-
- lib_give_semaphore(stream);
- return 0;
- }
-
- /* How many bytes of write data are used in the buffer now */
-
- nbuffer = stream->fs_bufpos - stream->fs_bufstart;
-
- /* Try to write that amount */
-
- src = stream->fs_bufstart;
- do
- {
- /* Perform the write */
-
- bytes_written = write(stream->fs_filedes, src, nbuffer);
- if (bytes_written < 0)
- {
- /* Write failed. The cause of the failure is in 'errno'.
- * returned the negated errno value.
- */
-
- lib_give_semaphore(stream);
- return -get_errno();
- }
-
- /* Handle partial writes. fflush() must either return with
- * an error condition or with the data successfully flushed
- * from the buffer.
- */
-
- src += bytes_written;
- nbuffer -= bytes_written;
- }
- while (bforce && nbuffer > 0);
-
- /* Reset the buffer position to the beginning of the buffer */
-
- stream->fs_bufpos = stream->fs_bufstart;
-
- /* For the case of an incomplete write, nbuffer will be non-zero
- * It will hold the number of bytes that were not written.
- * Move the data down in the buffer to handle this (rare) case
- */
-
- while (nbuffer)
- {
- *stream->fs_bufpos++ = *src++;
- --nbuffer;
- }
- }
-
- /* Restore normal access to the stream and return the number of bytes
- * remaining in the buffer.
- */
-
- lib_give_semaphore(stream);
- return stream->fs_bufpos - stream->fs_bufstart;
-#else
- /* Return no bytes remaining in the buffer */
-
- return 0;
-#endif
-}
-
diff --git a/nuttx/lib/stdio/lib_libflushall.c b/nuttx/lib/stdio/lib_libflushall.c
deleted file mode 100644
index 9d0a89e9c..000000000
--- a/nuttx/lib/stdio/lib_libflushall.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_libflushall.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_flushall
- *
- * Description:
- * Called either (1) by the OS when a task exits, or (2) from fflush()
- * when a NULL stream argument is provided.
- *
- ****************************************************************************/
-
-int lib_flushall(FAR struct streamlist *list)
-{
- int lasterrno = OK;
- int ret;
-
- /* Make sure that there are streams associated with this thread */
-
- if (list)
- {
- int i;
-
- /* Process each stream in the thread's stream list */
-
- stream_semtake(list);
- for (i = 0; i < CONFIG_NFILE_STREAMS; i++)
- {
- FILE *stream = &list->sl_streams[i];
-
- /* If the stream is open (i.e., assigned a non-negative file
- * descriptor) and opened for writing, then flush all of the pending
- * write data in the stream.
- */
-
- if (stream->fs_filedes >= 0 && (stream->fs_oflags & O_WROK) != 0)
- {
- /* Flush the writable FILE */
-
- ret = lib_fflush(stream, true);
- if (ret < 0)
- {
- /* An error occurred during the flush AND/OR we were unable
- * to flush all of the buffered write data. Remember the
- * last errcode.
- */
-
- lasterrno = ret;
- }
- }
- }
-
- stream_semgive(list);
- }
-
- /* If any flush failed, return the errorcode of the last failed flush */
-
- return lasterrno;
-}
diff --git a/nuttx/lib/stdio/lib_libfread.c b/nuttx/lib/stdio/lib_libfread.c
deleted file mode 100644
index 5585acbae..000000000
--- a/nuttx/lib/stdio/lib_libfread.c
+++ /dev/null
@@ -1,315 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_libfread.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h> /* for CONFIG_STDIO_BUFFER_SIZE */
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_fread
- ****************************************************************************/
-
-ssize_t lib_fread(FAR void *ptr, size_t count, FAR FILE *stream)
-{
- unsigned char *dest = (unsigned char*)ptr;
- ssize_t bytes_read;
- int ret;
-
- /* Make sure that reading from this stream is allowed */
-
- if (!stream || (stream->fs_oflags & O_RDOK) == 0)
- {
- set_errno(EBADF);
- bytes_read = -1;
- }
- else
- {
- /* The stream must be stable until we complete the read */
-
- lib_take_semaphore(stream);
-
-#if CONFIG_NUNGET_CHARS > 0
- /* First, re-read any previously ungotten characters */
-
- while ((stream->fs_nungotten > 0) && (count > 0))
- {
- /* Decrement the count of ungotten bytes to get an index */
-
- stream->fs_nungotten--;
-
- /* Return the last ungotten byte */
-
- *dest++ = stream->fs_ungotten[stream->fs_nungotten];
-
- /* That's one less byte that we have to read */
-
- count--;
- }
-#endif
-
-#if CONFIG_STDIO_BUFFER_SIZE > 0
- /* If the buffer is currently being used for write access, then
- * flush all of the buffered write data. We do not support concurrent
- * buffered read/write access.
- */
-
- ret = lib_wrflush(stream);
- if (ret < 0)
- {
- lib_give_semaphore(stream);
- return ret;
- }
-
- /* Now get any other needed chars from the buffer or the file. */
-
- while (count > 0)
- {
- /* Is there readable data in the buffer? */
-
- while ((count > 0) && (stream->fs_bufpos < stream->fs_bufread))
- {
- /* Yes, copy a byte into the user buffer */
-
- *dest++ = *stream->fs_bufpos++;
- count--;
- }
-
- /* The buffer is empty OR we have already supplied the number of
- * bytes requested in the read. Check if we need to read
- * more from the file.
- */
-
- if (count > 0)
- {
- size_t buffer_available;
-
- /* We need to read more data into the buffer from the file */
-
- /* Mark the buffer empty */
-
- stream->fs_bufpos = stream->fs_bufread = stream->fs_bufstart;
-
- /* How much space is available in the buffer? */
-
- buffer_available = stream->fs_bufend - stream->fs_bufread;
-
- /* Will the number of bytes that we need to read fit into
- * the buffer space that is available? If the read size is
- * larger than the buffer, then read some of the data
- * directly into the user's buffer.
- */
-
- if (count > buffer_available)
- {
- bytes_read = read(stream->fs_filedes, dest, count);
- if (bytes_read < 0)
- {
- /* An error occurred on the read. The error code is
- * in the 'errno' variable.
- */
-
- goto errout_with_errno;
- }
- else if (bytes_read == 0)
- {
- /* We are at the end of the file. But we may already
- * have buffered data. In that case, we will report
- * the EOF indication later.
- */
-
- goto shortread;
- }
- else
- {
- /* Some bytes were read. Adjust the dest pointer */
-
- dest += bytes_read;
-
- /* Were all of the requested bytes read? */
-
- if (bytes_read < count)
- {
- /* No. We must be at the end of file. */
-
- goto shortread;
- }
- else
- {
- /* Yes. We are done. */
-
- count = 0;
- }
- }
- }
- else
- {
- /* The number of bytes required to satisfy the read
- * is less than or equal to the size of the buffer
- * space that we have left. Read as much as we can
- * into the buffer.
- */
-
- bytes_read = read(stream->fs_filedes, stream->fs_bufread, buffer_available);
- if (bytes_read < 0)
- {
- /* An error occurred on the read. The error code is
- * in the 'errno' variable.
- */
-
- goto errout_with_errno;
- }
- else if (bytes_read == 0)
- {
- /* We are at the end of the file. But we may already
- * have buffered data. In that case, we will report
- * the EOF indication later.
- */
-
- goto shortread;
- }
- else
- {
- /* Some bytes were read */
-
- stream->fs_bufread += bytes_read;
- }
- }
- }
- }
-#else
- /* Now get any other needed chars from the file. */
-
- while (count > 0)
- {
- bytes_read = read(stream->fs_filedes, dest, count);
- if (bytes_read < 0)
- {
- /* An error occurred on the read. The error code is
- * in the 'errno' variable.
- */
-
- goto errout_with_errno;
- }
- else if (bytes_read == 0)
- {
- /* We are at the end of the file. But we may already
- * have buffered data. In that case, we will report
- * the EOF indication later.
- */
-
- break;
- }
- else
- {
- dest += bytes_read;
- count -= bytes_read;
- }
- }
-#endif
- /* Here after a successful (but perhaps short) read */
-
-#if CONFIG_STDIO_BUFFER_SIZE > 0
- shortread:
-#endif
- bytes_read = dest - (unsigned char*)ptr;
-
- /* Set or clear the EOF indicator. If we get here because of a
- * short read and the total number of* bytes read is zero, then
- * we must be at the end-of-file.
- */
-
- if (bytes_read > 0)
- {
- stream->fs_flags &= ~__FS_FLAG_EOF;
- }
- else
- {
- stream->fs_flags |= __FS_FLAG_EOF;
- }
- }
-
- lib_give_semaphore(stream);
- return bytes_read;
-
-/* Error exits */
-
-errout_with_errno:
- lib_give_semaphore(stream);
- return -get_errno();
-}
-
diff --git a/nuttx/lib/stdio/lib_libfwrite.c b/nuttx/lib/stdio/lib_libfwrite.c
deleted file mode 100644
index e71866b49..000000000
--- a/nuttx/lib/stdio/lib_libfwrite.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_libfwrite.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h> /* for CONFIG_STDIO_BUFFER_SIZE */
-
-#include <sys/types.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_fwrite
- ****************************************************************************/
-
-ssize_t lib_fwrite(FAR const void *ptr, size_t count, FAR FILE *stream)
-#if CONFIG_STDIO_BUFFER_SIZE > 0
-{
- FAR const unsigned char *start = ptr;
- FAR const unsigned char *src = ptr;
- ssize_t ret = ERROR;
- unsigned char *dest;
-
- /* Make sure that writing to this stream is allowed */
-
- if (!stream || (stream->fs_oflags & O_WROK) == 0)
- {
- set_errno(EBADF);
- goto errout;
- }
-
- /* Get exclusive access to the stream */
-
- lib_take_semaphore(stream);
-
- /* If the buffer is currently being used for read access, then
- * discard all of the read-ahead data. We do not support concurrent
- * buffered read/write access.
- */
-
- if (lib_rdflush(stream) < 0)
- {
- goto errout_with_semaphore;
- }
-
- /* Loop until all of the bytes have been buffered */
-
- while (count > 0)
- {
- /* Determine the number of bytes left in the buffer */
-
- size_t gulp_size = stream->fs_bufend - stream->fs_bufpos;
-
- /* Will the user data fit into the amount of buffer space
- * that we have left?
- */
-
- if (gulp_size > count)
- {
- /* Yes, clip the gulp to the size of the user data */
-
- gulp_size = count;
- }
-
- /* Adjust the number of bytes remaining to be transferred
- * on the next pass through the loop (might be zero).
- */
-
- count -= gulp_size;
-
- /* Transfer the data into the buffer */
-
- for (dest = stream->fs_bufpos; gulp_size > 0; gulp_size--)
- {
- *dest++ = *src++;
- }
- stream->fs_bufpos = dest;
-
- /* Is the buffer full? */
-
- if (dest >= stream->fs_bufend)
- {
- /* Flush the buffered data to the IO stream */
-
- int bytes_buffered = lib_fflush(stream, false);
- if (bytes_buffered < 0)
- {
- goto errout_with_semaphore;
- }
- }
- }
-
- /* Return the number of bytes written */
-
- ret = src - start;
-
-errout_with_semaphore:
- lib_give_semaphore(stream);
-
-errout:
- return ret;
-}
-#else
-{
- return write(stream->fs_filedes, ptr, count);
-}
-#endif /* CONFIG_STDIO_BUFFER_SIZE */
-
diff --git a/nuttx/lib/stdio/lib_libnoflush.c b/nuttx/lib/stdio/lib_libnoflush.c
deleted file mode 100644
index e3b891153..000000000
--- a/nuttx/lib/stdio/lib_libnoflush.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_libnoflush.c
- *
- * Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include <nuttx/fs/fs.h>
-
-#include "lib_internal.h"
-
-#ifdef CONFIG_STDIO_LINEBUFFER
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_noflush
- *
- * Description:
- * lib_noflush() provides a common, dummy flush method for output streams
- * that are not flushable. Only used if CONFIG_STDIO_LINEBUFFER is selected.
- *
- * Return:
- * Always returns OK
- *
- ****************************************************************************/
-
-int lib_noflush(FAR struct lib_outstream_s *this)
-{
- return OK;
-}
-
-#endif /* CONFIG_STDIO_LINEBUFFER */
-
diff --git a/nuttx/lib/stdio/lib_libsprintf.c b/nuttx/lib/stdio/lib_libsprintf.c
deleted file mode 100644
index 2474a6f01..000000000
--- a/nuttx/lib/stdio/lib_libsprintf.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_libsprintf.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_sprintf
- ****************************************************************************/
-
-int lib_sprintf(FAR struct lib_outstream_s *obj, const char *fmt, ...)
-{
- va_list ap;
- int n;
-
- /* Let lib_vsprintf do the real work */
-
- va_start(ap, fmt);
- n = lib_vsprintf(obj, fmt, ap);
- va_end(ap);
- return n;
-}
diff --git a/nuttx/lib/stdio/lib_libvsprintf.c b/nuttx/lib/stdio/lib_libvsprintf.c
deleted file mode 100644
index 30c988599..000000000
--- a/nuttx/lib/stdio/lib_libvsprintf.c
+++ /dev/null
@@ -1,1620 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_libvsprintf.c
- *
- * Copyright (C) 2007-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/compiler.h>
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <nuttx/arch.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-/* If you have floating point but no fieldwidth, then use a fixed (but
- * configurable) floating point precision.
- */
-
-#if defined(CONFIG_LIBC_FLOATINGPOINT) && \
- defined(CONFIG_NOPRINTF_FIELDWIDTH) && \
- !defined(CONFIG_LIBC_FIXEDPRECISION)
-# define CONFIG_LIBC_FIXEDPRECISION 3
-#endif
-
-#define FLAG_SHOWPLUS 0x01
-#define FLAG_ALTFORM 0x02
-#define FLAG_HASDOT 0x04
-#define FLAG_HASASTERISKWIDTH 0x08
-#define FLAG_HASASTERISKTRUNC 0x10
-#define FLAG_LONGPRECISION 0x20
-#define FLAG_LONGLONGPRECISION 0x40
-#define FLAG_NEGATE 0x80
-
-#define SET_SHOWPLUS(f) do (f) |= FLAG_SHOWPLUS; while (0)
-#define SET_ALTFORM(f) do (f) |= FLAG_ALTFORM; while (0)
-#define SET_HASDOT(f) do (f) |= FLAG_HASDOT; while (0)
-#define SET_HASASTERISKWIDTH(f) do (f) |= FLAG_HASASTERISKWIDTH; while (0)
-#define SET_HASASTERISKTRUNC(f) do (f) |= FLAG_HASASTERISKTRUNC; while (0)
-#define SET_LONGPRECISION(f) do (f) |= FLAG_LONGPRECISION; while (0)
-#define SET_LONGLONGPRECISION(f) do (f) |= FLAG_LONGLONGPRECISION; while (0)
-#define SET_NEGATE(f) do (f) |= FLAG_NEGATE; while (0)
-
-#define CLR_SHOWPLUS(f) do (f) &= ~FLAG_SHOWPLUS; while (0)
-#define CLR_ALTFORM(f) do (f) &= ~FLAG_ALTFORM; while (0)
-#define CLR_HASDOT(f) do (f) &= ~FLAG_HASDOT; while (0)
-#define CLR_HASASTERISKWIDTH(f) do (f) &= ~FLAG_HASASTERISKWIDTH; while (0)
-#define CLR_HASASTERISKTRUNC(f) do (f) &= ~FLAG_HASASTERISKTRUNC; while (0)
-#define CLR_LONGPRECISION(f) do (f) &= ~FLAG_LONGPRECISION; while (0)
-#define CLR_LONGLONGPRECISION(f) do (f) &= ~FLAG_LONGLONGPRECISION; while (0)
-#define CLR_NEGATE(f) do (f) &= ~FLAG_NEGATE; while (0)
-#define CLR_SIGNED(f) do (f) &= ~(FLAG_SHOWPLUS|FLAG_NEGATE); while (0)
-
-#define IS_SHOWPLUS(f) (((f) & FLAG_SHOWPLUS) != 0)
-#define IS_ALTFORM(f) (((f) & FLAG_ALTFORM) != 0)
-#define IS_HASDOT(f) (((f) & FLAG_HASDOT) != 0)
-#define IS_HASASTERISKWIDTH(f) (((f) & FLAG_HASASTERISKWIDTH) != 0)
-#define IS_HASASTERISKTRUNC(f) (((f) & FLAG_HASASTERISKTRUNC) != 0)
-#define IS_LONGPRECISION(f) (((f) & FLAG_LONGPRECISION) != 0)
-#define IS_LONGLONGPRECISION(f) (((f) & FLAG_LONGLONGPRECISION) != 0)
-#define IS_NEGATE(f) (((f) & FLAG_NEGATE) != 0)
-#define IS_SIGNED(f) (((f) & (FLAG_SHOWPLUS|FLAG_NEGATE)) != 0)
-
-/* If CONFIG_ARCH_ROMGETC is defined, then it is assumed that the format
- * string data cannot be accessed by simply de-referencing the format string
- * pointer. This might be in the case in Harvard architectures where string
- * data might be stored in instruction space or if string data were stored
- * on some media like EEPROM or external serial FLASH. In all of these cases,
- * string data has to be accessed indirectly using the architecture-supplied
- * up_romgetc(). The following mechanisms attempt to make these different
- * access methods indistinguishable in the following code.
- *
- * NOTE: It is assumed that string arguments for %s still reside in memory
- * that can be directly accessed by de-referencing the string pointer.
- */
-
-#ifdef CONFIG_ARCH_ROMGETC
-# define FMT_TOP ch = up_romgetc(src) /* Loop initialization */
-# define FMT_BOTTOM src++, ch = up_romgetc(src) /* Bottom of a loop */
-# define FMT_CHAR ch /* Access a character */
-# define FMT_NEXT src++; ch = up_romgetc(src) /* Advance to the next character */
-# define FMT_PREV src--; ch = up_romgetc(src) /* Backup to the previous character */
-#else
-# define FMT_TOP /* Loop initialization */
-# define FMT_BOTTOM src++ /* Bottom of a loop */
-# define FMT_CHAR *src /* Access a character */
-# define FMT_NEXT src++ /* Advance to the next character */
-# define FMT_PREV src-- /* Backup to the previous character */
-#endif
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-enum
-{
- FMT_RJUST = 0, /* Default */
- FMT_LJUST,
- FMT_RJUST0,
- FMT_CENTER
-};
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/* Pointer to ASCII conversion */
-
-#ifdef CONFIG_PTR_IS_NOT_INT
-static void ptohex(FAR struct lib_outstream_s *obj, uint8_t flags, FAR void *p);
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static int getsizesize(uint8_t fmt, uint8_t flags, FAR void *p)
-#endif /* CONFIG_NOPRINTF_FIELDWIDTH */
-#endif /* CONFIG_PTR_IS_NOT_INT */
-
-/* Unsigned int to ASCII conversion */
-
-static void utodec(FAR struct lib_outstream_s *obj, unsigned int n);
-static void utohex(FAR struct lib_outstream_s *obj, unsigned int n, uint8_t a);
-static void utooct(FAR struct lib_outstream_s *obj, unsigned int n);
-static void utobin(FAR struct lib_outstream_s *obj, unsigned int n);
-static void utoascii(FAR struct lib_outstream_s *obj, uint8_t fmt,
- uint8_t flags, unsigned int lln);
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static void fixup(uint8_t fmt, FAR uint8_t *flags, int *n);
-static int getusize(uint8_t fmt, uint8_t flags, unsigned int lln);
-#endif
-
-/* Unsigned long int to ASCII conversion */
-
-#ifdef CONFIG_LONG_IS_NOT_INT
-static void lutodec(FAR struct lib_outstream_s *obj, unsigned long ln);
-static void lutohex(FAR struct lib_outstream_s *obj, unsigned long ln, uint8_t a);
-static void lutooct(FAR struct lib_outstream_s *obj, unsigned long ln);
-static void lutobin(FAR struct lib_outstream_s *obj, unsigned long ln);
-static void lutoascii(FAR struct lib_outstream_s *obj, uint8_t fmt,
- uint8_t flags, unsigned long ln);
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static void lfixup(uint8_t fmt, FAR uint8_t *flags, long *ln);
-static int getlusize(uint8_t fmt, FAR uint8_t flags, unsigned long ln);
-#endif
-#endif
-
-/* Unsigned long long int to ASCII conversions */
-
-#ifdef CONFIG_HAVE_LONG_LONG
-static void llutodec(FAR struct lib_outstream_s *obj, unsigned long long lln);
-static void llutohex(FAR struct lib_outstream_s *obj, unsigned long long lln, uint8_t a);
-static void llutooct(FAR struct lib_outstream_s *obj, unsigned long long lln);
-static void llutobin(FAR struct lib_outstream_s *obj, unsigned long long lln);
-static void llutoascii(FAR struct lib_outstream_s *obj, uint8_t fmt,
- uint8_t flags, unsigned long long lln);
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static void llfixup(uint8_t fmt, FAR uint8_t *flags, FAR long long *lln);
-static int getllusize(uint8_t fmt, FAR uint8_t flags, FAR unsigned long long lln);
-#endif
-#endif
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static void prejustify(FAR struct lib_outstream_s *obj, uint8_t fmt,
- uint8_t flags, int fieldwidth, int valwidth);
-static void postjustify(FAR struct lib_outstream_s *obj, uint8_t fmt,
- uint8_t flags, int fieldwidth, int valwidth);
-#endif
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-static const char g_nullstring[] = "(null)";
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/* Include floating point functions */
-
-#ifdef CONFIG_LIBC_FLOATINGPOINT
-# include "stdio/lib_libdtoa.c"
-#endif
-
-/****************************************************************************
- * Name: ptohex
- ****************************************************************************/
-
-#ifdef CONFIG_PTR_IS_NOT_INT
-static void ptohex(FAR struct lib_outstream_s *obj, uint8_t flags, FAR void *p)
-{
- union
- {
- uint32_t dw;
- FAR void *p;
- } u;
- uint8_t bits;
-
- /* Check for alternate form */
-
- if (IS_ALTFORM(flags))
- {
- /* Prefix the number with "0x" */
-
- obj->put(obj, '0');
- obj->put(obj, 'x');
- }
-
- u.dw = 0;
- u.p = p;
-
- for (bits = 8*sizeof(void *); bits > 0; bits -= 4)
- {
- uint8_t nibble = (uint8_t)((u.dw >> (bits - 4)) & 0xf);
- if (nibble < 10)
- {
- obj->put(obj, nibble + '0');
- }
- else
- {
- obj->put(obj, nibble + 'a' - 10);
- }
- }
-}
-
-/****************************************************************************
- * Name: getpsize
- ****************************************************************************/
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static int getpsize(uint8_t flags, FAR void *p)
-{
- struct lib_outstream_s nulloutstream;
- lib_nulloutstream(&nulloutstream);
-
- ptohex(&nulloutstream, flags, p);
- return nulloutstream.nput;
-}
-
-#endif /* CONFIG_NOPRINTF_FIELDWIDTH */
-#endif /* CONFIG_PTR_IS_NOT_INT */
-
-/****************************************************************************
- * Name: utodec
- ****************************************************************************/
-
-static void utodec(FAR struct lib_outstream_s *obj, unsigned int n)
-{
- unsigned int remainder = n % 10;
- unsigned int dividend = n / 10;
-
- if (dividend)
- {
- utodec(obj, dividend);
- }
-
- obj->put(obj, (remainder + (unsigned int)'0'));
-}
-
-/****************************************************************************
- * Name: utohex
- ****************************************************************************/
-
-static void utohex(FAR struct lib_outstream_s *obj, unsigned int n, uint8_t a)
-{
- bool nonzero = false;
- uint8_t bits;
-
- for (bits = 8*sizeof(unsigned int); bits > 0; bits -= 4)
- {
- uint8_t nibble = (uint8_t)((n >> (bits - 4)) & 0xf);
- if (nibble || nonzero)
- {
- nonzero = true;
-
- if (nibble < 10)
- {
- obj->put(obj, nibble + '0');
- }
- else
- {
- obj->put(obj, nibble + a - 10);
- }
- }
- }
-
- if (!nonzero)
- {
- obj->put(obj, '0');
- }
-}
-
-/****************************************************************************
- * Name: utooct
- ****************************************************************************/
-
-static void utooct(FAR struct lib_outstream_s *obj, unsigned int n)
-{
- unsigned int remainder = n & 0x7;
- unsigned int dividend = n >> 3;
-
- if (dividend)
- {
- utooct(obj, dividend);
- }
-
- obj->put(obj, (remainder + (unsigned int)'0'));
-}
-
-/****************************************************************************
- * Name: utobin
- ****************************************************************************/
-
-static void utobin(FAR struct lib_outstream_s *obj, unsigned int n)
-{
- unsigned int remainder = n & 1;
- unsigned int dividend = n >> 1;
-
- if (dividend)
- {
- utobin(obj, dividend);
- }
-
- obj->put(obj, (remainder + (unsigned int)'0'));
-}
-
-/****************************************************************************
- * Name: utoascii
- ****************************************************************************/
-
-static void utoascii(FAR struct lib_outstream_s *obj, uint8_t fmt, uint8_t flags, unsigned int n)
-{
- /* Perform the integer conversion according to the format specifier */
-
- switch (fmt)
- {
- case 'd':
- case 'i':
- /* Signed base 10 */
- {
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- if ((int)n < 0)
- {
- obj->put(obj, '-');
- n = (unsigned int)(-(int)n);
- }
- else if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- }
-#endif
- /* Convert the unsigned value to a string. */
-
- utodec(obj, n);
- }
- break;
-
- case 'u':
- /* Unigned base 10 */
- {
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- }
-#endif
- /* Convert the unsigned value to a string. */
-
- utodec(obj, n);
- }
- break;
-
-#ifndef CONFIG_PTR_IS_NOT_INT
- case 'p':
-#endif
- case 'x':
- case 'X':
- /* Hexadecimal */
- {
- /* Check for alternate form */
-
- if (IS_ALTFORM(flags))
- {
- /* Prefix the number with "0x" */
-
- obj->put(obj, '0');
- obj->put(obj, 'x');
- }
-
- /* Convert the unsigned value to a string. */
-
- if (fmt == 'X')
- {
- utohex(obj, n, 'A');
- }
- else
- {
- utohex(obj, n, 'a');
- }
- }
- break;
-
- case 'o':
- /* Octal */
- {
- /* Check for alternate form */
-
- if (IS_ALTFORM(flags))
- {
- /* Prefix the number with '0' */
-
- obj->put(obj, '0');
- }
-
- /* Convert the unsigned value to a string. */
-
- utooct(obj, n);
- }
- break;
-
- case 'b':
- /* Binary */
- {
- /* Convert the unsigned value to a string. */
-
- utobin(obj, n);
- }
- break;
-
-#ifdef CONFIG_PTR_IS_NOT_INT
- case 'p':
-#endif
- default:
- break;
- }
-}
-
-/****************************************************************************
- * Name: fixup
- ****************************************************************************/
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static void fixup(uint8_t fmt, FAR uint8_t *flags, FAR int *n)
-{
- /* Perform the integer conversion according to the format specifier */
-
- switch (fmt)
- {
- case 'd':
- case 'i':
- /* Signed base 10 */
-
- if (*n < 0)
- {
- SET_NEGATE(*flags);
- CLR_SHOWPLUS(*flags);
- *n = -*n;
- }
- break;
-
- case 'u':
- /* Unsigned base 10 */
- break;
-
- case 'p':
- case 'x':
- case 'X':
- /* Hexadecimal */
- case 'o':
- /* Octal */
- case 'b':
- /* Binary */
- CLR_SIGNED(*flags);
- break;
-
- default:
- break;
- }
-}
-
-/****************************************************************************
- * Name: getusize
- ****************************************************************************/
-
-static int getusize(uint8_t fmt, uint8_t flags, unsigned int n)
-{
- struct lib_outstream_s nulloutstream;
- lib_nulloutstream(&nulloutstream);
-
- utoascii(&nulloutstream, fmt, flags, n);
- return nulloutstream.nput;
-}
-
-/****************************************************************************
- * Name: getdblsize
- ****************************************************************************/
-
-#ifdef CONFIG_LIBC_FLOATINGPOINT
-static int getdblsize(uint8_t fmt, int trunc, uint8_t flags, double n)
-{
- struct lib_outstream_s nulloutstream;
- lib_nulloutstream(&nulloutstream);
-
- lib_dtoa(&nulloutstream, fmt, trunc, flags, n);
- return nulloutstream.nput;
-}
-#endif
-#endif /* CONFIG_NOPRINTF_FIELDWIDTH */
-
-#ifdef CONFIG_LONG_IS_NOT_INT
-/****************************************************************************
- * Name: lutodec
- ****************************************************************************/
-
-static void lutodec(FAR struct lib_outstream_s *obj, unsigned long n)
-{
- unsigned int remainder = n % 10;
- unsigned long dividend = n / 10;
-
- if (dividend)
- {
- lutodec(obj, dividend);
- }
-
- obj->put(obj, (remainder + (unsigned int)'0'));
-}
-
-/****************************************************************************
- * Name: lutohex
- ****************************************************************************/
-
-static void lutohex(FAR struct lib_outstream_s *obj, unsigned long n, uint8_t a)
-{
- bool nonzero = false;
- uint8_t bits;
-
- for (bits = 8*sizeof(unsigned long); bits > 0; bits -= 4)
- {
- uint8_t nibble = (uint8_t)((n >> (bits - 4)) & 0xf);
- if (nibble || nonzero)
- {
- nonzero = true;
-
- if (nibble < 10)
- {
- obj->put(obj, nibble + '0');
- }
- else
- {
- obj->put(obj, nibble + a - 10);
- }
- }
- }
-
- if (!nonzero)
- {
- obj->put(obj, '0');
- }
-}
-
-/****************************************************************************
- * Name: lutooct
- ****************************************************************************/
-
-static void lutooct(FAR struct lib_outstream_s *obj, unsigned long n)
-{
- unsigned int remainder = n & 0x7;
- unsigned long dividend = n >> 3;
-
- if (dividend)
- {
- lutooct(obj, dividend);
- }
-
- obj->put(obj, (remainder + (unsigned int)'0'));
-}
-
-/****************************************************************************
- * Name: lutobin
- ****************************************************************************/
-
-static void lutobin(FAR struct lib_outstream_s *obj, unsigned long n)
-{
- unsigned int remainder = n & 1;
- unsigned long dividend = n >> 1;
-
- if (dividend)
- {
- lutobin(obj, dividend);
- }
-
- obj->put(obj, (remainder + (unsigned int)'0'));
-}
-
-/****************************************************************************
- * Name: lutoascii
- ****************************************************************************/
-
-static void lutoascii(FAR struct lib_outstream_s *obj, uint8_t fmt, uint8_t flags, unsigned long ln)
-{
- /* Perform the integer conversion according to the format specifier */
-
- switch (fmt)
- {
- case 'd':
- case 'i':
- /* Signed base 10 */
- {
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- if ((long)ln < 0)
- {
- obj->put(obj, '-');
- ln = (unsigned long)(-(long)ln);
- }
- else if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- }
-#endif
- /* Convert the unsigned value to a string. */
-
- lutodec(obj, ln);
- }
- break;
-
- case 'u':
- /* Unigned base 10 */
- {
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- }
-#endif
- /* Convert the unsigned value to a string. */
-
- lutodec(obj, ln);
- }
- break;
-
- case 'x':
- case 'X':
- /* Hexadecimal */
- {
- /* Check for alternate form */
-
- if (IS_ALTFORM(flags))
- {
- /* Prefix the number with "0x" */
-
- obj->put(obj, '0');
- obj->put(obj, 'x');
- }
-
- /* Convert the unsigned value to a string. */
-
- if (fmt == 'X')
- {
- lutohex(obj, ln, 'A');
- }
- else
- {
- lutohex(obj, ln, 'a');
- }
- }
- break;
-
- case 'o':
- /* Octal */
- {
- /* Check for alternate form */
-
- if (IS_ALTFORM(flags))
- {
- /* Prefix the number with '0' */
-
- obj->put(obj, '0');
- }
-
- /* Convert the unsigned value to a string. */
-
- lutooct(obj, ln);
- }
- break;
-
- case 'b':
- /* Binary */
- {
- /* Convert the unsigned value to a string. */
-
- lutobin(obj, ln);
- }
- break;
-
- case 'p':
- default:
- break;
- }
-}
-
-/****************************************************************************
- * Name: lfixup
- ****************************************************************************/
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static void lfixup(uint8_t fmt, FAR uint8_t *flags, FAR long *ln)
-{
- /* Perform the integer conversion according to the format specifier */
-
- switch (fmt)
- {
- case 'd':
- case 'i':
- /* Signed base 10 */
-
- if (*ln < 0)
- {
- SET_NEGATE(*flags);
- CLR_SHOWPLUS(*flags);
- *ln = -*ln;
- }
- break;
-
- case 'u':
- /* Unsigned base 10 */
- break;
-
- case 'p':
- case 'x':
- case 'X':
- /* Hexadecimal */
- case 'o':
- /* Octal */
- case 'b':
- /* Binary */
- CLR_SIGNED(*flags);
- break;
-
- default:
- break;
- }
-}
-
-/****************************************************************************
- * Name: getlusize
- ****************************************************************************/
-
-static int getlusize(uint8_t fmt, uint8_t flags, unsigned long ln)
-{
- struct lib_outstream_s nulloutstream;
- lib_nulloutstream(&nulloutstream);
-
- lutoascii(&nulloutstream, fmt, flags, ln);
- return nulloutstream.nput;
-}
-
-#endif /* CONFIG_NOPRINTF_FIELDWIDTH */
-#endif /* CONFIG_LONG_IS_NOT_INT */
-
-#ifdef CONFIG_HAVE_LONG_LONG
-/****************************************************************************
- * Name: llutodec
- ****************************************************************************/
-
-static void llutodec(FAR struct lib_outstream_s *obj, unsigned long long n)
-{
- unsigned int remainder = n % 10;
- unsigned long long dividend = n / 10;
-
- if (dividend)
- {
- llutodec(obj, dividend);
- }
-
- obj->put(obj, (remainder + (unsigned int)'0'));
-}
-
-/****************************************************************************
- * Name: llutohex
- ****************************************************************************/
-
-static void llutohex(FAR struct lib_outstream_s *obj, unsigned long long n, uint8_t a)
-{
- bool nonzero = false;
- uint8_t bits;
-
- for (bits = 8*sizeof(unsigned long long); bits > 0; bits -= 4)
- {
- uint8_t nibble = (uint8_t)((n >> (bits - 4)) & 0xf);
- if (nibble || nonzero)
- {
- nonzero = true;
-
- if (nibble < 10)
- {
- obj->put(obj, (nibble + '0'));
- }
- else
- {
- obj->put(obj, (nibble + a - 10));
- }
- }
- }
-
- if (!nonzero)
- {
- obj->put(obj, '0');
- }
-}
-
-/****************************************************************************
- * Name: llutooct
- ****************************************************************************/
-
-static void llutooct(FAR struct lib_outstream_s *obj, unsigned long long n)
-{
- unsigned int remainder = n & 0x7;
- unsigned long long dividend = n >> 3;
-
- if (dividend)
- {
- llutooct(obj, dividend);
- }
-
- obj->put(obj, (remainder + (unsigned int)'0'));
-}
-
-/****************************************************************************
- * Name: llutobin
- ****************************************************************************/
-
-static void llutobin(FAR struct lib_outstream_s *obj, unsigned long long n)
-{
- unsigned int remainder = n & 1;
- unsigned long long dividend = n >> 1;
-
- if (dividend)
- {
- llutobin(obj, dividend);
- }
-
- obj->put(obj, (remainder + (unsigned int)'0'));
-}
-
-/****************************************************************************
- * Name: llutoascii
- ****************************************************************************/
-
-static void llutoascii(FAR struct lib_outstream_s *obj, uint8_t fmt, uint8_t flags, unsigned long long lln)
-{
- /* Perform the integer conversion according to the format specifier */
-
- switch (fmt)
- {
- case 'd':
- case 'i':
- /* Signed base 10 */
- {
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- if ((long long)lln < 0)
- {
- obj->put(obj, '-');
- lln = (unsigned long long)(-(long long)lln);
- }
- else if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- }
-#endif
- /* Convert the unsigned value to a string. */
-
- llutodec(obj, (unsigned long long)lln);
- }
- break;
-
- case 'u':
- /* Unigned base 10 */
- {
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- }
-#endif
- /* Convert the unsigned value to a string. */
-
- llutodec(obj, (unsigned long long)lln);
- }
- break;
-
- case 'x':
- case 'X':
- /* Hexadecimal */
- {
- /* Check for alternate form */
-
- if (IS_ALTFORM(flags))
- {
- /* Prefix the number with "0x" */
-
- obj->put(obj, '0');
- obj->put(obj, 'x');
- }
-
- /* Convert the unsigned value to a string. */
-
- if (fmt == 'X')
- {
- llutohex(obj, (unsigned long long)lln, 'A');
- }
- else
- {
- llutohex(obj, (unsigned long long)lln, 'a');
- }
- }
- break;
-
- case 'o':
- /* Octal */
- {
- /* Check for alternate form */
-
- if (IS_ALTFORM(flags))
- {
- /* Prefix the number with '0' */
-
- obj->put(obj, '0');
- }
-
- /* Convert the unsigned value to a string. */
-
- llutooct(obj, (unsigned long long)lln);
- }
- break;
-
- case 'b':
- /* Binary */
- {
- /* Convert the unsigned value to a string. */
-
- llutobin(obj, (unsigned long long)lln);
- }
- break;
-
- case 'p':
- default:
- break;
- }
-}
-
-/****************************************************************************
- * Name: llfixup
- ****************************************************************************/
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static void llfixup(uint8_t fmt, FAR uint8_t *flags, FAR long long *lln)
-{
- /* Perform the integer conversion according to the format specifier */
-
- switch (fmt)
- {
- case 'd':
- case 'i':
- /* Signed base 10 */
-
- if (*lln < 0)
- {
- SET_NEGATE(*flags);
- CLR_SHOWPLUS(*flags);
- *lln = -*lln;
- }
- break;
-
- case 'u':
- /* Unsigned base 10 */
- break;
-
- case 'p':
- case 'x':
- case 'X':
- /* Hexadecimal */
- case 'o':
- /* Octal */
- case 'b':
- /* Binary */
- CLR_SIGNED(*flags);
- break;
-
- default:
- break;
- }
-}
-
-/****************************************************************************
- * Name: getllusize
- ****************************************************************************/
-
-static int getllusize(uint8_t fmt, uint8_t flags, unsigned long long lln)
-{
- struct lib_outstream_s nulloutstream;
- lib_nulloutstream(&nulloutstream);
-
-
- llutoascii(&nulloutstream, fmt, flags, lln);
- return nulloutstream.nput;
-}
-
-#endif /* CONFIG_NOPRINTF_FIELDWIDTH */
-#endif /* CONFIG_HAVE_LONG_LONG */
-
-/****************************************************************************
- * Name: prejustify
- ****************************************************************************/
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static void prejustify(FAR struct lib_outstream_s *obj, uint8_t fmt,
- uint8_t flags, int fieldwidth, int valwidth)
-{
- int i;
-
- switch (fmt)
- {
- default:
- case FMT_RJUST:
- if (IS_SIGNED(flags))
- {
- valwidth++;
- }
-
- for (i = fieldwidth - valwidth; i > 0; i--)
- {
- obj->put(obj, ' ');
- }
-
- if (IS_NEGATE(flags))
- {
- obj->put(obj, '-');
- }
- else if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- }
- break;
-
- case FMT_RJUST0:
- if (IS_NEGATE(flags))
- {
- obj->put(obj, '-');
- valwidth++;
- }
- else if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- valwidth++;
- }
-
- for (i = fieldwidth - valwidth; i > 0; i--)
- {
- obj->put(obj, '0');
- }
- break;
-
- case FMT_LJUST:
- if (IS_NEGATE(flags))
- {
- obj->put(obj, '-');
- }
- else if (IS_SHOWPLUS(flags))
- {
- obj->put(obj, '+');
- }
- break;
- }
-}
-#endif
-
-/****************************************************************************
- * Name: postjustify
- ****************************************************************************/
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
-static void postjustify(FAR struct lib_outstream_s *obj, uint8_t fmt,
- uint8_t flags, int fieldwidth, int valwidth)
-{
- int i;
-
- /* Apply field justification to the integer value. */
-
- switch (fmt)
- {
- default:
- case FMT_RJUST:
- case FMT_RJUST0:
- break;
-
- case FMT_LJUST:
- if (IS_SIGNED(flags))
- {
- valwidth++;
- }
-
- for (i = fieldwidth - valwidth; i > 0; i--)
- {
- obj->put(obj, ' ');
- }
- break;
- }
-}
-#endif
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * lib/stdio/lib_vsprintf
- ****************************************************************************/
-
-int lib_vsprintf(FAR struct lib_outstream_s *obj, FAR const char *src, va_list ap)
-{
- FAR char *ptmp;
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- int width;
-#ifdef CONFIG_LIBC_FLOATINGPOINT
- int trunc;
-#endif
- uint8_t fmt;
-#endif
- uint8_t flags;
-#ifdef CONFIG_ARCH_ROMGETC
- char ch;
-#endif
-
- for (FMT_TOP; FMT_CHAR; FMT_BOTTOM)
- {
- /* Just copy regular characters */
-
- if (FMT_CHAR != '%')
- {
- /* Output the character */
-
- obj->put(obj, FMT_CHAR);
-
- /* Flush the buffer if a newline is encountered */
-
-#ifdef CONFIG_STDIO_LINEBUFFER
- if (FMT_CHAR == '\n')
- {
- /* Should return an error on a failure to flush */
-
- (void)obj->flush(obj);
- }
-#endif
- /* Process the next character in the format */
-
- continue;
- }
-
- /* We have found a format specifier. Move past it. */
-
- FMT_NEXT;
-
- /* Assume defaults */
-
- flags = 0;
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- fmt = FMT_RJUST;
- width = 0;
-#ifdef CONFIG_LIBC_FLOATINGPOINT
- trunc = 0;
-#endif
-#endif
-
- /* Process each format qualifier. */
-
- for (; FMT_CHAR; FMT_BOTTOM)
- {
- /* Break out of the loop when the format is known. */
-
- if (strchr("diuxXpobeEfgGlLsc%", FMT_CHAR))
- {
- break;
- }
-
- /* Check for left justification. */
-
- else if (FMT_CHAR == '-')
- {
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- fmt = FMT_LJUST;
-#endif
- }
-
- /* Check for leading zero fill right justification. */
-
- else if (FMT_CHAR == '0')
- {
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- fmt = FMT_RJUST0;
-#endif
- }
-#if 0
- /* Center justification. */
-
- else if (FMT_CHAR == '~')
- {
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- fmt = FMT_CENTER;
-#endif
- }
-#endif
-
- else if (FMT_CHAR == '*')
- {
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- int value = va_arg(ap, int);
- if (IS_HASDOT(flags))
- {
-#ifdef CONFIG_LIBC_FLOATINGPOINT
- trunc = value;
- SET_HASASTERISKTRUNC(flags);
-#endif
- }
- else
- {
- width = value;
- SET_HASASTERISKWIDTH(flags);
- }
-#endif
- }
-
- /* Check for field width */
-
- else if (FMT_CHAR >= '1' && FMT_CHAR <= '9')
- {
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- do
- {
- FMT_NEXT;
- }
- while (FMT_CHAR >= '0' && FMT_CHAR <= '9');
-#else
- /* Accumulate the field width integer. */
-
- int n = ((int)(FMT_CHAR)) - (int)'0';
- for (;;)
- {
- FMT_NEXT;
- if (FMT_CHAR >= '0' && FMT_CHAR <= '9')
- {
- n = 10*n + (((int)(FMT_CHAR)) - (int)'0');
- }
- else
- {
- break;
- }
- }
-
- if (IS_HASDOT(flags))
- {
-#ifdef CONFIG_LIBC_FLOATINGPOINT
- trunc = n;
-#endif
- }
- else
- {
- width = n;
- }
-#endif
- /* Back up to the last digit. */
-
- FMT_PREV;
- }
-
- /* Check for a decimal point. */
-
- else if (FMT_CHAR == '.')
- {
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- SET_HASDOT(flags);
-#endif
- }
-
- /* Check for leading plus sign. */
-
- else if (FMT_CHAR == '+')
- {
- SET_SHOWPLUS(flags);
- }
-
- /* Check for alternate form. */
-
- else if (FMT_CHAR == '#')
- {
- SET_ALTFORM(flags);
- }
- }
-
- /* "%%" means that a literal '%' was intended (instead of a format
- * specification).
- */
-
- if (FMT_CHAR == '%')
- {
- obj->put(obj, '%');
- continue;
- }
-
- /* Check for the string format. */
-
- if (FMT_CHAR == 's')
- {
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- int swidth;
-#endif
- /* Get the string to output */
-
- ptmp = va_arg(ap, char *);
- if (!ptmp)
- {
- ptmp = (char*)g_nullstring;
- }
-
- /* Get the widith of the string and perform right-justification
- * operations.
- */
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- swidth = strlen(ptmp);
- prejustify(obj, fmt, 0, width, swidth);
-#endif
- /* Concatenate the string into the output */
-
- while (*ptmp)
- {
- obj->put(obj, *ptmp);
- ptmp++;
- }
-
- /* Perform left-justification operations. */
-
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- postjustify(obj, fmt, 0, width, swidth);
-#endif
- continue;
- }
-
- /* Check for the character output */
-
- else if (FMT_CHAR == 'c')
- {
- /* Just copy the character into the output. */
-
- int n = va_arg(ap, int);
- obj->put(obj, n);
- continue;
- }
-
- /* Check for the long long prefix. */
-
- if (FMT_CHAR == 'L')
- {
- SET_LONGLONGPRECISION(flags);
- FMT_NEXT;
- }
- else if (FMT_CHAR == 'l')
- {
- SET_LONGPRECISION(flags);
- FMT_NEXT;
- if (FMT_CHAR == 'l')
- {
- SET_LONGLONGPRECISION(flags);
- FMT_NEXT;
- }
- }
-
- /* Handle integer conversions */
-
- if (strchr("diuxXpob", FMT_CHAR))
- {
-#ifdef CONFIG_HAVE_LONG_LONG
- if (IS_LONGLONGPRECISION(flags) && FMT_CHAR != 'p')
- {
- long long lln;
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- int lluwidth;
-#endif
- /* Extract the long long value. */
-
- lln = va_arg(ap, long long);
-
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- /* Output the number */
-
- llutoascii(obj, FMT_CHAR, flags, (unsigned long long)lln);
-#else
- /* Resolve sign-ness and format issues */
-
- llfixup(FMT_CHAR, &flags, &lln);
-
- /* Get the width of the output */
-
- lluwidth = getllusize(FMT_CHAR, flags, lln);
-
- /* Perform left field justification actions */
-
- prejustify(obj, fmt, flags, width, lluwidth);
-
- /* Output the number */
-
- llutoascii(obj, FMT_CHAR, flags, (unsigned long long)lln);
-
- /* Perform right field justification actions */
-
- postjustify(obj, fmt, flags, width, lluwidth);
-#endif
- }
- else
-#endif /* CONFIG_HAVE_LONG_LONG */
-#ifdef CONFIG_LONG_IS_NOT_INT
- if (IS_LONGPRECISION(flags) && FMT_CHAR != 'p')
- {
- long ln;
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- int luwidth;
-#endif
- /* Extract the long value. */
-
- ln = va_arg(ap, long);
-
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- /* Output the number */
-
- lutoascii(obj, FMT_CHAR, flags, (unsigned long)ln);
-#else
- /* Resolve sign-ness and format issues */
-
- lfixup(FMT_CHAR, &flags, &ln);
-
- /* Get the width of the output */
-
- luwidth = getlusize(FMT_CHAR, flags, ln);
-
- /* Perform left field justification actions */
-
- prejustify(obj, fmt, flags, width, luwidth);
-
- /* Output the number */
-
- lutoascii(obj, FMT_CHAR, flags, (unsigned long)ln);
-
- /* Perform right field justification actions */
-
- postjustify(obj, fmt, flags, width, luwidth);
-#endif
- }
- else
-#endif /* CONFIG_LONG_IS_NOT_INT */
-#ifdef CONFIG_PTR_IS_NOT_INT
- if (FMT_CHAR == 'p')
- {
- void *p;
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- int pwidth;
-#endif
- /* Extract the integer value. */
-
- p = va_arg(ap, void *);
-
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- /* Output the pointer value */
-
- ptohex(obj, flags, p);
-#else
- /* Resolve sign-ness and format issues */
-
- lfixup(FMT_CHAR, &flags, &ln);
-
- /* Get the width of the output */
-
- luwidth = getpsize(FMT_CHAR, flags, p);
-
- /* Perform left field justification actions */
-
- prejustify(obj, fmt, flags, width, pwidth);
-
- /* Output the pointer value */
-
- ptohex(obj, flags, p);
-
- /* Perform right field justification actions */
-
- postjustify(obj, fmt, flags, width, pwidth);
-#endif
- }
- else
-#endif
- {
- int n;
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- int uwidth;
-#endif
- /* Extract the long long value. */
-
- n = va_arg(ap, int);
-
-#ifdef CONFIG_NOPRINTF_FIELDWIDTH
- /* Output the number */
-
- utoascii(obj, FMT_CHAR, flags, (unsigned int)n);
-#else
- /* Resolve sign-ness and format issues */
-
- fixup(FMT_CHAR, &flags, &n);
-
- /* Get the width of the output */
-
- uwidth = getusize(FMT_CHAR, flags, n);
-
- /* Perform left field justification actions */
-
- prejustify(obj, fmt, flags, width, uwidth);
-
- /* Output the number */
-
- utoascii(obj, FMT_CHAR, flags, (unsigned int)n);
-
- /* Perform right field justification actions */
-
- postjustify(obj, fmt, flags, width, uwidth);
-#endif
- }
- }
-
- /* Handle floating point conversions */
-
-#ifdef CONFIG_LIBC_FLOATINGPOINT
- else if (strchr("eEfgG", FMT_CHAR))
- {
-#ifndef CONFIG_NOPRINTF_FIELDWIDTH
- double dblval = va_arg(ap, double);
- int dblsize;
-
- /* Get the width of the output */
-
- dblsize = getdblsize(FMT_CHAR, trunc, flags, dblval);
-
- /* Perform left field justification actions */
-
- prejustify(obj, fmt, 0, width, dblsize);
-
- /* Output the number */
-
- lib_dtoa(obj, FMT_CHAR, trunc, flags, dblval);
-
- /* Perform right field justification actions */
-
- postjustify(obj, fmt, 0, width, dblsize);
-#else
- /* Output the number with a fixed precision */
-
- double dblval = va_arg(ap, double);
- lib_dtoa(obj, FMT_CHAR, CONFIG_LIBC_FIXEDPRECISION, flags, dblval);
-#endif
- }
-#endif /* CONFIG_LIBC_FLOATINGPOINT */
- }
-
- return obj->nput;
-}
-
-
diff --git a/nuttx/lib/stdio/lib_lowinstream.c b/nuttx/lib/stdio/lib_lowinstream.c
deleted file mode 100644
index 499a647ea..000000000
--- a/nuttx/lib/stdio/lib_lowinstream.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_lowinstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <assert.h>
-#include <errno.h>
-
-#include <nuttx/arch.h>
-
-#include "lib_internal.h"
-
-#ifdef CONFIG_ARCH_LOWGETC
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lowinstream_getc
- ****************************************************************************/
-
-static int lowinstream_getc(FAR struct lib_instream_s *this)
-{
- int ret;
-
- DEBUGASSERT(this);
-
- /* Get the next character from the incoming stream */
-
- ret = up_getc(ch)
- if (ret != EOF)
- {
- this->nget++;
- }
-
- return ret;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_lowinstream
- *
- * Description:
- * Initializes a stream for use with low-level, architecture-specific I/O.
- *
- * Input parameters:
- * lowoutstream - User allocated, uninitialized instance of struct
- * lib_lowoutstream_s to be initialized.
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_lowinstream(FAR struct lib_instream_s *stream)
-{
- stream->get = lowinstream_getc;
- stream->nget = 0;
-}
-
-#endif /* CONFIG_ARCH_LOWGETC */
diff --git a/nuttx/lib/stdio/lib_lowoutstream.c b/nuttx/lib/stdio/lib_lowoutstream.c
deleted file mode 100644
index 092f39ca2..000000000
--- a/nuttx/lib/stdio/lib_lowoutstream.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_lowoutstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#ifdef CONFIG_ARCH_LOWPUTC
-
-#include <stdio.h>
-#include <assert.h>
-#include <errno.h>
-#include <nuttx/arch.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lowoutstream_putc
- ****************************************************************************/
-
-static void lowoutstream_putc(FAR struct lib_outstream_s *this, int ch)
-{
- DEBUGASSERT(this);
-
- if (up_putc(ch) != EOF)
- {
- this->nput++;
- }
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_lowoutstream
- *
- * Description:
- * Initializes a stream for use with low-level, architecture-specific I/O.
- *
- * Input parameters:
- * lowoutstream - User allocated, uninitialized instance of struct
- * lib_lowoutstream_s to be initialized.
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_lowoutstream(FAR struct lib_outstream_s *stream)
-{
- stream->put = lowoutstream_putc;
-#ifdef CONFIG_STDIO_LINEBUFFER
- stream->flush = lib_noflush;
-#endif
- stream->nput = 0;
-}
-
-#endif /* CONFIG_ARCH_LOWPUTC */
diff --git a/nuttx/lib/stdio/lib_lowprintf.c b/nuttx/lib/stdio/lib_lowprintf.c
deleted file mode 100644
index 392ef2c6a..000000000
--- a/nuttx/lib/stdio/lib_lowprintf.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_lowprintf.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <stdio.h>
-#include <debug.h>
-#include "lib_internal.h"
-
-/* This interface can only be used from within the kernel */
-
-#if !defined(CONFIG_NUTTX_KERNEL) || defined(__KERNEL__)
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_lowvprintf
- ****************************************************************************/
-
-#if defined(CONFIG_ARCH_LOWPUTC) || defined(CONFIG_SYSLOG)
-
-int lib_lowvprintf(const char *fmt, va_list ap)
-{
- struct lib_outstream_s stream;
-
- /* Wrap the stdout in a stream object and let lib_vsprintf do the work. */
-
-#ifdef CONFIG_SYSLOG
- lib_syslogstream((FAR struct lib_outstream_s *)&stream);
-#else
- lib_lowoutstream((FAR struct lib_outstream_s *)&stream);
-#endif
- return lib_vsprintf((FAR struct lib_outstream_s *)&stream, fmt, ap);
-}
-
-/****************************************************************************
- * Name: lib_lowprintf
- ****************************************************************************/
-
-int lib_lowprintf(const char *fmt, ...)
-{
- va_list ap;
- int ret;
-
-#ifdef CONFIG_DEBUG_ENABLE
- ret = 0;
- if (g_dbgenable)
-#endif
- {
- va_start(ap, fmt);
- ret = lib_lowvprintf(fmt, ap);
- va_end(ap);
- }
-
- return ret;
-}
-
-#endif /* CONFIG_ARCH_LOWPUTC || CONFIG_SYSLOG */
-#endif /* __KERNEL__ */
diff --git a/nuttx/lib/stdio/lib_meminstream.c b/nuttx/lib/stdio/lib_meminstream.c
deleted file mode 100644
index a842096fb..000000000
--- a/nuttx/lib/stdio/lib_meminstream.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_meminstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <assert.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: meminstream_getc
- ****************************************************************************/
-
-static int meminstream_getc(FAR struct lib_instream_s *this)
-{
- FAR struct lib_meminstream_s *mthis = (FAR struct lib_meminstream_s *)this;
- int ret;
-
- DEBUGASSERT(this);
-
- /* Get the next character (if any) from the buffer */
-
- if (this->nget < mthis->buflen)
- {
- ret = mthis->buffer[this->nget];
- this->nget++;
- }
- else
- {
- ret = EOF;
- }
-
- return ret;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_meminstream
- *
- * Description:
- * Initializes a stream for use with a fixed-size memory buffer.
- *
- * Input parameters:
- * meminstream - User allocated, uninitialized instance of struct
- * lib_meminstream_s to be initialized.
- * bufstart - Address of the beginning of the fixed-size memory buffer
- * buflen - Size of the fixed-sized memory buffer in bytes
- *
- * Returned Value:
- * None (meminstream initialized).
- *
- ****************************************************************************/
-
-void lib_meminstream(FAR struct lib_meminstream_s *meminstream,
- FAR const char *bufstart, int buflen)
-{
- meminstream->public.get = meminstream_getc;
- meminstream->public.nget = 0; /* Will be buffer index */
- meminstream->buffer = bufstart; /* Start of buffer */
- meminstream->buflen = buflen; /* Length of the buffer */
-}
-
-
diff --git a/nuttx/lib/stdio/lib_memoutstream.c b/nuttx/lib/stdio/lib_memoutstream.c
deleted file mode 100644
index 21197358b..000000000
--- a/nuttx/lib/stdio/lib_memoutstream.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_memoutstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <assert.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: memoutstream_putc
- ****************************************************************************/
-
-static void memoutstream_putc(FAR struct lib_outstream_s *this, int ch)
-{
- FAR struct lib_memoutstream_s *mthis = (FAR struct lib_memoutstream_s *)this;
-
- DEBUGASSERT(this);
-
- /* If this will not overrun the buffer, then write the character to the
- * buffer. Not that buflen was pre-decremented when the stream was
- * created so it is okay to write past the end of the buflen by one.
- */
-
- if (this->nput < mthis->buflen)
- {
- mthis->buffer[this->nput] = ch;
- this->nput++;
- mthis->buffer[this->nput] = '\0';
- }
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_memoutstream
- *
- * Description:
- * Initializes a stream for use with a fixed-size memory buffer.
- *
- * Input parameters:
- * memoutstream - User allocated, uninitialized instance of struct
- * lib_memoutstream_s to be initialized.
- * bufstart - Address of the beginning of the fixed-size memory buffer
- * buflen - Size of the fixed-sized memory buffer in bytes
- *
- * Returned Value:
- * None (memoutstream initialized).
- *
- ****************************************************************************/
-
-void lib_memoutstream(FAR struct lib_memoutstream_s *memoutstream,
- FAR char *bufstart, int buflen)
-{
- memoutstream->public.put = memoutstream_putc;
-#ifdef CONFIG_STDIO_LINEBUFFER
- memoutstream->public.flush = lib_noflush;
-#endif
- memoutstream->public.nput = 0; /* Will be buffer index */
- memoutstream->buffer = bufstart; /* Start of buffer */
- memoutstream->buflen = buflen - 1; /* Save space for null terminator */
- memoutstream->buffer[0] = '\0'; /* Start with an empty string */
-}
-
-
diff --git a/nuttx/lib/stdio/lib_nullinstream.c b/nuttx/lib/stdio/lib_nullinstream.c
deleted file mode 100644
index 0eadb0a8e..000000000
--- a/nuttx/lib/stdio/lib_nullinstream.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_nullinstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-static int nullinstream_getc(FAR struct lib_instream_s *this)
-{
- return EOF;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_nullinstream
- *
- * Description:
- * Initializes a NULL stream. The initialized stream will will return only
- * EOF.
- *
- * Input parameters:
- * nullinstream - User allocated, uninitialized instance of struct
- * lib_instream_s to be initialized.
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_nullinstream(FAR struct lib_instream_s *nullinstream)
-{
- nullinstream->get = nullinstream_getc;
- nullinstream->nget = 0;
-}
-
diff --git a/nuttx/lib/stdio/lib_nulloutstream.c b/nuttx/lib/stdio/lib_nulloutstream.c
deleted file mode 100644
index 69878fd57..000000000
--- a/nuttx/lib/stdio/lib_nulloutstream.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_nulloutstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include <assert.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-static void nulloutstream_putc(FAR struct lib_outstream_s *this, int ch)
-{
- DEBUGASSERT(this);
- this->nput++;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_nulloutstream
- *
- * Description:
- * Initializes a NULL streams. The initialized stream will write all data
- * to the bit-bucket.
- *
- * Input parameters:
- * nulloutstream - User allocated, uninitialized instance of struct
- * lib_outstream_s to be initialized.
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_nulloutstream(FAR struct lib_outstream_s *nulloutstream)
-{
- nulloutstream->put = nulloutstream_putc;
-#ifdef CONFIG_STDIO_LINEBUFFER
- nulloutstream->flush = lib_noflush;
-#endif
- nulloutstream->nput = 0;
-}
-
diff --git a/nuttx/lib/stdio/lib_perror.c b/nuttx/lib/stdio/lib_perror.c
deleted file mode 100644
index 867e113f9..000000000
--- a/nuttx/lib/stdio/lib_perror.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_perror.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <errno.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* POSIX requires that perror provide its output on stderr. This option may
- * be defined, however, to provide perror output that is serialized with
- * other stdout messages.
- */
-
-#ifdef CONFIG_LIBC_PERROR_STDOUT
-# define PERROR_STREAM stdout
-#else
-# define PERROR_STREAM stderr
-#endif
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: perror
- ****************************************************************************/
-
-void perror(FAR const char *s)
-{
-
- /* If strerror() is not enabled, then just print the error number */
-
-#ifdef CONFIG_LIBC_STRERROR
- (void)fprintf(PERROR_STREAM, "%s: %s\n", s, strerror(errno));
-#else
- (void)fprintf(PERROR_STREAM, "%s: Error %d\n", s, errno);
-#endif
-}
-
diff --git a/nuttx/lib/stdio/lib_printf.c b/nuttx/lib/stdio/lib_printf.c
deleted file mode 100644
index 50db06c47..000000000
--- a/nuttx/lib/stdio/lib_printf.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_printf.c
- *
- * Copyright (C) 2007-2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/**************************************************************************
- * Global Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/**************************************************************************
- * Private Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Private Variables
- **************************************************************************/
-
-/****************************************************************************
- * Global Functions
- **************************************************************************/
-
-/****************************************************************************
- * Name: printf
- **************************************************************************/
-
-int printf(const char *fmt, ...)
-{
- va_list ap;
- int ret;
-
- va_start(ap, fmt);
-#if CONFIG_NFILE_STREAMS > 0
- ret = vfprintf(stdout, fmt, ap);
-#elif CONFIG_NFILE_DESCRIPTORS > 0
- ret = lib_rawvprintf(fmt, ap);
-#elif defined(CONFIG_ARCH_LOWPUTC)
- ret = lib_lowvprintf(fmt, ap);
-#else
-# ifdef CONFIG_CPP_HAVE_WARNING
-# warning "printf has no data sink"
-# endif
- ret = 0;
-#endif
- va_end(ap);
-
- return ret;
-}
-
diff --git a/nuttx/lib/stdio/lib_puts.c b/nuttx/lib/stdio/lib_puts.c
deleted file mode 100644
index e63a63917..000000000
--- a/nuttx/lib/stdio/lib_puts.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_puts.c
- *
- * Copyright (C) 2007, 2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: puts
- *
- * Description:
- * puts() writes the string s and a trailing newline to stdout.
- *
- ****************************************************************************/
-
-int puts(FAR const char *s)
-{
- FILE *stream = stdout;
- int nwritten;
- int nput = EOF;
- int ret;
-
- /* Write the string (the next two steps must be atomic) */
-
- lib_take_semaphore(stream);
-
- /* Write the string without its trailing '\0' */
-
- nwritten = fputs(s, stream);
- if (nwritten > 0)
- {
- /* Followed by a newline */
-
- char newline = '\n';
- ret = lib_fwrite(&newline, 1, stream);
- if (ret > 0)
- {
- nput = nwritten + 1;
-
- /* Flush the buffer after the newline is output. */
-
-#ifdef CONFIG_STDIO_LINEBUFFER
- ret = lib_fflush(stream, true);
- if (ret < 0)
- {
- nput = EOF;
- }
-#endif
- }
- }
-
- lib_give_semaphore(stdout);
- return nput;
-}
-
diff --git a/nuttx/lib/stdio/lib_rawinstream.c b/nuttx/lib/stdio/lib_rawinstream.c
deleted file mode 100644
index 9671a2716..000000000
--- a/nuttx/lib/stdio/lib_rawinstream.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_rawinstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <unistd.h>
-#include <assert.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: rawinstream_getc
- ****************************************************************************/
-
-static int rawinstream_getc(FAR struct lib_instream_s *this)
-{
- FAR struct lib_rawinstream_s *rthis = (FAR struct lib_rawinstream_s *)this;
- int nwritten;
- char ch;
-
- DEBUGASSERT(this && rthis->fd >= 0);
-
- /* Attempt to read one character */
-
- nwritten = read(rthis->fd, &ch, 1);
- if (nwritten == 1)
- {
- this->nget++;
- return ch;
- }
-
- /* Return EOF on any failure to read from the incoming byte stream. The
- * only expected error is EINTR meaning that the read was interrupted
- * by a signal. A Zero return value would indicated an end-of-file
- * confition.
- */
-
- return EOF;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_rawinstream
- *
- * Description:
- * Initializes a stream for use with a file descriptor.
- *
- * Input parameters:
- * rawinstream - User allocated, uninitialized instance of struct
- * lib_rawinstream_s to be initialized.
- * fd - User provided file/socket descriptor (must have been opened
- * for the correct access).
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_rawinstream(FAR struct lib_rawinstream_s *rawinstream, int fd)
-{
- rawinstream->public.get = rawinstream_getc;
- rawinstream->public.nget = 0;
- rawinstream->fd = fd;
-}
-
diff --git a/nuttx/lib/stdio/lib_rawoutstream.c b/nuttx/lib/stdio/lib_rawoutstream.c
deleted file mode 100644
index ed813f87a..000000000
--- a/nuttx/lib/stdio/lib_rawoutstream.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_rawoutstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <unistd.h>
-#include <assert.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: rawoutstream_putc
- ****************************************************************************/
-
-static void rawoutstream_putc(FAR struct lib_outstream_s *this, int ch)
-{
- FAR struct lib_rawoutstream_s *rthis = (FAR struct lib_rawoutstream_s *)this;
- int nwritten;
- char buffer = ch;
-
- DEBUGASSERT(this && rthis->fd >= 0);
-
- /* Loop until the character is successfully transferred or until an
- * irrecoverable error occurs.
- */
-
- do
- {
- nwritten = write(rthis->fd, &buffer, 1);
- if (nwritten == 1)
- {
- this->nput++;
- return;
- }
-
- /* The only expected error is EINTR, meaning that the write operation
- * was awakened by a signal. Zero would not be a valid return value
- * from write().
- */
-
- DEBUGASSERT(nwritten < 0);
- }
- while (get_errno() == EINTR);
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_rawoutstream
- *
- * Description:
- * Initializes a stream for use with a file descriptor.
- *
- * Input parameters:
- * rawoutstream - User allocated, uninitialized instance of struct
- * lib_rawoutstream_s to be initialized.
- * fd - User provided file/socket descriptor (must have been opened
- * for write access).
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_rawoutstream(FAR struct lib_rawoutstream_s *rawoutstream, int fd)
-{
- rawoutstream->public.put = rawoutstream_putc;
-#ifdef CONFIG_STDIO_LINEBUFFER
- rawoutstream->public.flush = lib_noflush;
-#endif
- rawoutstream->public.nput = 0;
- rawoutstream->fd = fd;
-}
-
diff --git a/nuttx/lib/stdio/lib_rawprintf.c b/nuttx/lib/stdio/lib_rawprintf.c
deleted file mode 100644
index 19dfa895e..000000000
--- a/nuttx/lib/stdio/lib_rawprintf.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_rawprintf.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include <debug.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Some output destinations are only available from within the kernel */
-
-#if defined(CONFIG_NUTTX_KERNEL) && !defined(__KERNEL__)
-# undef CONFIG_SYSLOG
-# undef CONFIG_ARCH_LOWPUTC
-#endif
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_rawvprintf
- ****************************************************************************/
-
-int lib_rawvprintf(const char *fmt, va_list ap)
-{
-#if defined(CONFIG_SYSLOG)
-
- struct lib_outstream_s stream;
-
- /* Wrap the low-level output in a stream object and let lib_vsprintf
- * do the work.
- */
-
- lib_syslogstream((FAR struct lib_outstream_s *)&stream);
- return lib_vsprintf((FAR struct lib_outstream_s *)&stream, fmt, ap);
-
-#elif CONFIG_NFILE_DESCRIPTORS > 0
-
- struct lib_rawoutstream_s rawoutstream;
-
- /* Wrap the stdout in a stream object and let lib_vsprintf
- * do the work.
- */
-
- lib_rawoutstream(&rawoutstream, 1);
- return lib_vsprintf(&rawoutstream.public, fmt, ap);
-
-#elif defined(CONFIG_ARCH_LOWPUTC)
-
- struct lib_outstream_s stream;
-
- /* Wrap the low-level output in a stream object and let lib_vsprintf
- * do the work.
- */
-
- lib_lowoutstream((FAR struct lib_outstream_s *)&stream);
- return lib_vsprintf((FAR struct lib_outstream_s *)&stream, fmt, ap);
-
-#else
- return 0;
-#endif
-}
-
-/****************************************************************************
- * Name: lib_rawprintf
- ****************************************************************************/
-
-int lib_rawprintf(const char *fmt, ...)
-{
- va_list ap;
- int ret;
-
-#ifdef CONFIG_DEBUG_ENABLE
- ret = 0;
- if (g_dbgenable)
-#endif
- {
- va_start(ap, fmt);
- ret = lib_rawvprintf(fmt, ap);
- va_end(ap);
- }
-
- return ret;
-}
diff --git a/nuttx/lib/stdio/lib_rdflush.c b/nuttx/lib/stdio/lib_rdflush.c
deleted file mode 100644
index 35c5495c1..000000000
--- a/nuttx/lib/stdio/lib_rdflush.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_rdflush.c
- *
- * Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_rdflush
- *
- * Description:
- * Flush read data from the I/O buffer and adjust the file pointer to
- * account for the unread data
- *
- ****************************************************************************/
-
-#if CONFIG_STDIO_BUFFER_SIZE > 0
-int lib_rdflush(FAR FILE *stream)
-{
- if (!stream)
- {
- set_errno(EBADF);
- return ERROR;
- }
-
- /* Get exclusive access to the stream */
-
- lib_take_semaphore(stream);
-
- /* If the buffer is currently being used for read access, then discard all
- * of the read-ahead data. We do not support concurrent buffered read/write
- * access.
- */
-
- if (stream->fs_bufread != stream->fs_bufstart)
- {
- /* Now adjust the stream pointer to account for the read-ahead data that
- * was not actually read by the user.
- */
-
-#if CONFIG_NUNGET_CHARS > 0
- off_t rdoffset = stream->fs_bufread - stream->fs_bufpos + stream->fs_nungotten;
-#else
- off_t rdoffset = stream->fs_bufread - stream->fs_bufpos;
-#endif
- /* Mark the buffer as empty (do this before calling fseek() because fseek()
- * also calls this function).
- */
-
- stream->fs_bufpos = stream->fs_bufread = stream->fs_bufstart;
-#if CONFIG_NUNGET_CHARS > 0
- stream->fs_nungotten = 0;
-#endif
- /* Then seek to the position corresponding to the last data read by the user */
-
- if (fseek(stream, -rdoffset, SEEK_CUR) < 0)
- {
- lib_give_semaphore(stream);
- return ERROR;
- }
- }
-
- lib_give_semaphore(stream);
- return OK;
-}
-#endif /* CONFIG_STDIO_BUFFER_SIZE */
-
diff --git a/nuttx/lib/stdio/lib_snprintf.c b/nuttx/lib/stdio/lib_snprintf.c
deleted file mode 100644
index e5ce7b0f0..000000000
--- a/nuttx/lib/stdio/lib_snprintf.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_snprintf.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdio.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * sprintf
- ****************************************************************************/
-
-int snprintf(FAR char *buf, size_t size, const char *format, ...)
-{
- struct lib_memoutstream_s memoutstream;
- va_list ap;
- int n;
-
- /* Initialize a memory stream to write to the buffer */
-
- lib_memoutstream((FAR struct lib_memoutstream_s *)&memoutstream, buf, size);
-
- /* Then let lib_vsprintf do the real work */
-
- va_start(ap, format);
- n = lib_vsprintf((FAR struct lib_outstream_s *)&memoutstream.public, format, ap);
- va_end(ap);
- return n;
-}
diff --git a/nuttx/lib/stdio/lib_sprintf.c b/nuttx/lib/stdio/lib_sprintf.c
deleted file mode 100644
index 89fd61033..000000000
--- a/nuttx/lib/stdio/lib_sprintf.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_sprintf.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * sprintf
- ****************************************************************************/
-
-int sprintf (FAR char *buf, const char *fmt, ...)
-{
- struct lib_memoutstream_s memoutstream;
- va_list ap;
- int n;
-
- /* Initialize a memory stream to write to the buffer */
-
- lib_memoutstream((FAR struct lib_memoutstream_s *)&memoutstream, buf, LIB_BUFLEN_UNKNOWN);
-
- /* Then let lib_vsprintf do the real work */
-
- va_start(ap, fmt);
- n = lib_vsprintf((FAR struct lib_outstream_s *)&memoutstream.public, fmt, ap);
- va_end(ap);
- return n;
-}
diff --git a/nuttx/lib/stdio/lib_sscanf.c b/nuttx/lib/stdio/lib_sscanf.c
deleted file mode 100644
index 7e1fae276..000000000
--- a/nuttx/lib/stdio/lib_sscanf.c
+++ /dev/null
@@ -1,507 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_sscanf.c
- *
- * Copyright (C) 2007, 2008, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/compiler.h>
-
-#include <sys/types.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <stdbool.h>
-#include <string.h>
-#include <ctype.h>
-#include <debug.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-#define MAXLN 128
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-int vsscanf(char *buf, const char *fmt, va_list ap);
-
-/**************************************************************************
- * Global Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/**************************************************************************
- * Private Constant Data
- **************************************************************************/
-
-static const char spaces[] = " \t\n\r\f\v";
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: findwidth
- *
- * Description:
- * Try to figure out the width of the input data.
- *
- ****************************************************************************/
-
-static int findwidth(FAR const char *buf, FAR const char *fmt)
-{
- FAR const char *next = fmt + 1;
-
- /* No... is there a space after the format? Or does the format string end
- * here?
- */
-
- if (isspace(*next) || *next == 0)
- {
- /* Use the input up until the first white space is encountered. */
-
- return strcspn(buf, spaces);
- }
-
- /* No.. Another possibility is the the format character is followed by
- * some recognizable delimiting value.
- */
-
- if (*next != '%')
- {
- /* If so we will say that the string ends there if we can find that
- * delimiter in the input string.
- */
-
- FAR const char *ptr = strchr(buf, *next);
- if (ptr)
- {
- return (int)(ptr - buf);
- }
- }
-
- /* No... the format has not delimiter and is back-to-back with the next
- * formats (or no is following by a delimiter that does not exist in the
- * input string). At this point we just bail and Use the input up until
- * the first white space is encountered.
- *
- * NOTE: This means that values from the following format may be
- * concatenated with the first. This is a bug. We have no generic way of
- * determining the width of the data if there is no fieldwith, no space
- * separating the input, and no usable delimiter character.
- */
-
- return strcspn(buf, spaces);
-}
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Function: sscanf
- *
- * Description:
- * ANSI standard sscanf implementation.
- *
- ****************************************************************************/
-
-int sscanf(FAR const char *buf, FAR const char *fmt, ...)
-{
- va_list ap;
- int count;
-
- va_start(ap, fmt);
- count = vsscanf((FAR char*)buf, fmt, ap);
- va_end(ap);
- return count;
-}
-
-/****************************************************************************
- * Function: vsscanf
- *
- * Description:
- * ANSI standard vsscanf implementation.
- *
- ****************************************************************************/
-
-int vsscanf(FAR char *buf, FAR const char *fmt, va_list ap)
-{
- FAR char *bufstart;
- FAR char *tv;
- FAR const char *tc;
- bool lflag;
- bool noassign;
- int count;
- int width;
- int base = 10;
- char tmp[MAXLN];
-
- lvdbg("vsscanf: buf=\"%s\" fmt=\"%s\"\n", buf, fmt);
-
- /* Remember the start of the input buffer. We will need this for %n
- * calculations.
- */
-
- bufstart = buf;
-
- /* Parse the format, extracting values from the input buffer as needed */
-
- count = 0;
- width = 0;
- noassign = false;
- lflag = false;
-
- while (*fmt && *buf)
- {
- /* Skip over white space */
-
- while (isspace(*fmt))
- {
- fmt++;
- }
-
- /* Check for a conversion specifier */
-
- if (*fmt == '%')
- {
- lvdbg("vsscanf: Specifier found\n");
-
- /* Check for qualifiers on the conversion specifier */
- fmt++;
- for (; *fmt; fmt++)
- {
- lvdbg("vsscanf: Processing %c\n", *fmt);
-
- if (strchr("dibouxcsefgn%", *fmt))
- {
- break;
- }
-
- if (*fmt == '*')
- {
- noassign = true;
- }
- else if (*fmt == 'l' || *fmt == 'L')
- {
- /* NOTE: Missing check for long long ('ll') */
-
- lflag = true;
- }
- else if (*fmt >= '1' && *fmt <= '9')
- {
- for (tc = fmt; isdigit(*fmt); fmt++);
- strncpy(tmp, tc, fmt - tc);
- tmp[fmt - tc] = '\0';
- width = atoi(tmp);
- fmt--;
- }
- }
-
- /* Process %s: String conversion */
-
- if (*fmt == 's')
- {
- lvdbg("vsscanf: Performing string conversion\n");
-
- while (isspace(*buf))
- {
- buf++;
- }
-
- /* Was a fieldwidth specified? */
-
- if (!width)
- {
- /* No... Guess a field width using some heuristics */
-
- width = findwidth(buf, fmt);
- }
-
- if (!noassign)
- {
- tv = va_arg(ap, char*);
- strncpy(tv, buf, width);
- tv[width] = '\0';
- }
-
- buf += width;
- }
-
- /* Process %c: Character conversion */
-
- else if (*fmt == 'c')
- {
- lvdbg("vsscanf: Performing character conversion\n");
-
- /* Was a fieldwidth specified? */
-
- if (!width)
- {
- /* No, then width is this one single character */
-
- width = 1;
- }
-
- if (!noassign)
- {
- tv = va_arg(ap, char*);
- strncpy(tv, buf, width);
- tv[width] = '\0';
- }
-
- buf += width;
- }
-
- /* Process %d, %o, %b, %x, %u: Various integer conversions */
-
- else if (strchr("dobxu", *fmt))
- {
- lvdbg("vsscanf: Performing integer conversion\n");
-
- /* Skip over any white space before the integer string */
-
- while (isspace(*buf))
- {
- buf++;
- }
-
- /* The base of the integer conversion depends on the specific
- * conversion specification.
- */
-
- if (*fmt == 'd' || *fmt == 'u')
- {
- base = 10;
- }
- else if (*fmt == 'x')
- {
- base = 16;
- }
- else if (*fmt == 'o')
- {
- base = 8;
- }
- else if (*fmt == 'b')
- {
- base = 2;
- }
-
- /* Was a fieldwidth specified? */
-
- if (!width)
- {
- /* No... Guess a field width using some heuristics */
-
- width = findwidth(buf, fmt);
- }
-
- /* Copy the numeric string into a temporary working buffer. */
-
- strncpy(tmp, buf, width);
- tmp[width] = '\0';
-
- lvdbg("vsscanf: tmp[]=\"%s\"\n", tmp);
-
- /* Perform the integer conversion */
-
- buf += width;
- if (!noassign)
- {
-#ifdef SDCC
- char *endptr;
- long tmplong = strtol(tmp, &endptr, base);
-#else
- long tmplong = strtol(tmp, NULL, base);
-#endif
- if (lflag)
- {
- long *plong = va_arg(ap, long*);
- lvdbg("vsscanf: Return %ld to 0x%p\n", tmplong, plong);
- *plong = tmplong;
- }
- else
- {
- int *pint = va_arg(ap, int*);
- lvdbg("vsscanf: Return %ld to 0x%p\n", tmplong, pint);
- *pint = (int)tmplong;
- }
- }
- }
-
- /* Process %f: Floating point conversion */
-
- else if (*fmt == 'f')
- {
-#ifndef CONFIG_LIBC_FLOATINGPOINT
- /* No floating point conversions */
-
- void *pv = va_arg(ap, void*);
-
- lvdbg("vsscanf: Return 0.0 to %p\n", pv);
- *((double_t*)pv) = 0.0;
-#else
- lvdbg("vsscanf: Performing floating point conversion\n");
-
- /* Skip over any white space before the real string */
-
- while (isspace(*buf))
- {
- buf++;
- }
-
- /* Was a fieldwidth specified? */
-
- if (!width)
- {
- /* No... Guess a field width using some heuristics */
-
- width = findwidth(buf, fmt);
- }
-
- /* Copy the real string into a temporary working buffer. */
-
- strncpy(tmp, buf, width);
- tmp[width] = '\0';
- buf += width;
-
- lvdbg("vsscanf: tmp[]=\"%s\"\n", tmp);
-
- /* Perform the floating point conversion */
-
- if (!noassign)
- {
- /* strtod always returns a double */
-#ifdef SDCC
- char *endptr;
- double_t dvalue = strtod(tmp,&endptr);
-#else
- double_t dvalue = strtod(tmp, NULL);
-#endif
- void *pv = va_arg(ap, void*);
-
- lvdbg("vsscanf: Return %f to %p\n", dvalue, pv);
-
- /* But we have to check whether we need to return a
- * float or a double.
- */
-
-#ifdef CONFIG_HAVE_DOUBLE
- if (lflag)
- {
- *((double_t*)pv) = dvalue;
- }
- else
-#endif
- {
- *((float*)pv) = (float)dvalue;
- }
- }
-#endif
- }
-
- /* Process %n: Character count */
-
- else if (*fmt == 'n')
- {
- lvdbg("vsscanf: Performing character count\n");
-
- if (!noassign)
- {
- size_t nchars = (size_t)(buf - bufstart);
-
- if (lflag)
- {
- long *plong = va_arg(ap, long*);
- *plong = (long)nchars;
- }
- else
- {
- int *pint = va_arg(ap, int*);
- *pint = (int)nchars;
- }
- }
- }
-
- /* Note %n does not count as a conversion */
-
- if (!noassign && *fmt != 'n')
- {
- count++;
- }
-
- width = 0;
- noassign = false;
- lflag = false;
-
- fmt++;
- }
-
- /* Its is not a conversion specifier */
-
- else
- {
- while (isspace(*buf))
- {
- buf++;
- }
-
- if (*fmt != *buf)
- {
- break;
- }
- else
- {
- fmt++;
- buf++;
- }
- }
- }
-
- return count;
-}
diff --git a/nuttx/lib/stdio/lib_stdinstream.c b/nuttx/lib/stdio/lib_stdinstream.c
deleted file mode 100644
index 77aab9ec8..000000000
--- a/nuttx/lib/stdio/lib_stdinstream.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_stdinstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <assert.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: stdinstream_getc
- ****************************************************************************/
-
-static int stdinstream_getc(FAR struct lib_instream_s *this)
-{
- FAR struct lib_stdinstream_s *sthis = (FAR struct lib_stdinstream_s *)this;
- int ret;
-
- DEBUGASSERT(this);
-
- /* Get the next character from the incoming stream */
-
- ret = getc(sthis->stream);
- if (ret != EOF)
- {
- this->nget++;
- }
-
- return ret;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_stdinstream
- *
- * Description:
- * Initializes a stream for use with a FILE instance.
- *
- * Input parameters:
- * stdinstream - User allocated, uninitialized instance of struct
- * lib_stdinstream_s to be initialized.
- * stream - User provided stream instance (must have been opened for
- * read access).
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_stdinstream(FAR struct lib_stdinstream_s *stdinstream,
- FAR FILE *stream)
-{
- stdinstream->public.get = stdinstream_getc;
- stdinstream->public.nget = 0;
- stdinstream->stream = stream;
-}
-
-
diff --git a/nuttx/lib/stdio/lib_stdoutstream.c b/nuttx/lib/stdio/lib_stdoutstream.c
deleted file mode 100644
index 20da5b702..000000000
--- a/nuttx/lib/stdio/lib_stdoutstream.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_stdoutstream.c
- *
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <fcntl.h>
-#include <assert.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: stdoutstream_putc
- ****************************************************************************/
-
-static void stdoutstream_putc(FAR struct lib_outstream_s *this, int ch)
-{
- FAR struct lib_stdoutstream_s *sthis = (FAR struct lib_stdoutstream_s *)this;
- int result;
-
- DEBUGASSERT(this && sthis->stream);
-
- /* Loop until the character is successfully transferred or an irrecoverable
- * error occurs.
- */
-
- do
- {
- result = fputc(ch, sthis->stream);
- if (result != EOF)
- {
- this->nput++;
- return;
- }
-
- /* EINTR (meaning that fputc was interrupted by a signal) is the only
- * recoverable error.
- */
- }
- while (get_errno() == EINTR);
-}
-
-/****************************************************************************
- * Name: stdoutstream_flush
- ****************************************************************************/
-
-#if defined(CONFIG_STDIO_LINEBUFFER) && CONFIG_STDIO_BUFFER_SIZE > 0
-int stdoutstream_flush(FAR struct lib_outstream_s *this)
-{
- FAR struct lib_stdoutstream_s *sthis = (FAR struct lib_stdoutstream_s *)this;
- return lib_fflush(sthis->stream, true);
-}
-#endif
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_stdoutstream
- *
- * Description:
- * Initializes a stream for use with a FILE instance.
- *
- * Input parameters:
- * stdoutstream - User allocated, uninitialized instance of struct
- * lib_stdoutstream_s to be initialized.
- * stream - User provided stream instance (must have been opened for
- * write access).
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_stdoutstream(FAR struct lib_stdoutstream_s *stdoutstream,
- FAR FILE *stream)
-{
- /* Select the put operation */
-
- stdoutstream->public.put = stdoutstream_putc;
-
- /* Select the correct flush operation. This flush is only called when
- * a newline is encountered in the output stream. However, we do not
- * want to support this line buffering behavior if the stream was
- * opened in binary mode. In binary mode, the newline has no special
- * meaning.
- */
-
-#ifdef CONFIG_STDIO_LINEBUFFER
-#if CONFIG_STDIO_BUFFER_SIZE > 0
- if ((stream->fs_oflags & O_BINARY) == 0)
- {
- stdoutstream->public.flush = stdoutstream_flush;
- }
- else
-#endif
- {
- stdoutstream->public.flush = lib_noflush;
- }
-#endif
-
- /* Set the number of bytes put to zero and remember the stream */
-
- stdoutstream->public.nput = 0;
- stdoutstream->stream = stream;
-}
-
-
diff --git a/nuttx/lib/stdio/lib_syslogstream.c b/nuttx/lib/stdio/lib_syslogstream.c
deleted file mode 100644
index 21151b43a..000000000
--- a/nuttx/lib/stdio/lib_syslogstream.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_syslogstream.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <unistd.h>
-#include <assert.h>
-#include <errno.h>
-
-#include <nuttx/syslog.h>
-
-#include "lib_internal.h"
-
-#ifdef CONFIG_SYSLOG
-
-/****************************************************************************
- * Pre-processor definition
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: syslogstream_putc
- ****************************************************************************/
-
-static void syslogstream_putc(FAR struct lib_outstream_s *this, int ch)
-{
- int ret;
-
- /* Try writing until the write was successful or until an irrecoverable
- * error occurs.
- */
-
- do
- {
- /* Write the character to the supported logging device */
-
- ret = syslog_putc(ch);
- if (ret == OK)
- {
- this->nput++;
- return;
- }
-
- /* On failure syslog_putc will return a negated errno value. The
- * errno variable will not be set. The special value -EINTR means that
- * syslog_putc() was awakened by a signal. This is not a real error and
- * must be ignored in this context.
- */
- }
- while (ret == -EINTR);
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_syslogstream
- *
- * Description:
- * Initializes a stream for use with the configured syslog interface.
- *
- * Input parameters:
- * lowoutstream - User allocated, uninitialized instance of struct
- * lib_lowoutstream_s to be initialized.
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_syslogstream(FAR struct lib_outstream_s *stream)
-{
- stream->put = syslogstream_putc;
-#ifdef CONFIG_STDIO_LINEBUFFER
- stream->flush = lib_noflush;
-#endif
- stream->nput = 0;
-}
-
-#endif /* CONFIG_SYSLOG */
-
-
diff --git a/nuttx/lib/stdio/lib_ungetc.c b/nuttx/lib/stdio/lib_ungetc.c
deleted file mode 100644
index c10d4fba1..000000000
--- a/nuttx/lib/stdio/lib_ungetc.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_ungetc.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <nuttx/fs/fs.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/**************************************************************************
- * Global Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/**************************************************************************
- * Private Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Private Variables
- **************************************************************************/
-
-/****************************************************************************
- * Public Functions
- **************************************************************************/
-
-/****************************************************************************
- * Name: ungetc
- **************************************************************************/
-
-int ungetc(int c, FAR FILE *stream)
-{
-#if CONFIG_NUNGET_CHARS > 0
- int nungotten;
-#endif
-
- /* Stream must be open for read access */
-
- if ((stream && stream->fs_filedes < 0) ||
- ((stream->fs_oflags & O_RDOK) == 0))
- {
- set_errno(EBADF);
- return EOF;
- }
-
-#if CONFIG_NUNGET_CHARS > 0
- nungotten = stream->fs_nungotten;
- if (stream->fs_nungotten < CONFIG_NUNGET_CHARS)
- {
- stream->fs_ungotten[nungotten] = c;
- stream->fs_nungotten = nungotten + 1;
- return c;
- }
- else
-#endif
- {
- set_errno(ENOMEM);
- return EOF;
- }
-}
-
diff --git a/nuttx/lib/stdio/lib_vfprintf.c b/nuttx/lib/stdio/lib_vfprintf.c
deleted file mode 100644
index 1c3a2d7fc..000000000
--- a/nuttx/lib/stdio/lib_vfprintf.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_vfprintf.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-#include <semaphore.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-int vfprintf(FAR FILE *stream, FAR const char *fmt, va_list ap)
-{
- struct lib_stdoutstream_s stdoutstream;
- int n = ERROR;
-
- if (stream)
- {
- /* Wrap the stream in a stream object and let lib_vsprintf
- * do the work.
- */
-
- lib_stdoutstream(&stdoutstream, stream);
-
- /* Hold the stream semaphore throughout the lib_vsprintf
- * call so that this thread can get its entire message out
- * before being pre-empted by the next thread.
- */
-
- lib_take_semaphore(stream);
- n = lib_vsprintf(&stdoutstream.public, fmt, ap);
- lib_give_semaphore(stream);
- }
- return n;
-}
diff --git a/nuttx/lib/stdio/lib_vprintf.c b/nuttx/lib/stdio/lib_vprintf.c
deleted file mode 100644
index d085d5886..000000000
--- a/nuttx/lib/stdio/lib_vprintf.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_vprintf.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Function Prototypes
- ****************************************************************************/
-
-/**************************************************************************
- * Global Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/**************************************************************************
- * Private Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Private Variables
- **************************************************************************/
-
-/****************************************************************************
- * Public Functions
- **************************************************************************/
-
-/****************************************************************************
- * Name: vprintf
- **************************************************************************/
-
-int vprintf(FAR const char *fmt, va_list ap)
-{
- /* vfprintf into stdout */
-
- return vfprintf(stdout, fmt, ap);
-}
-
diff --git a/nuttx/lib/stdio/lib_vsnprintf.c b/nuttx/lib/stdio/lib_vsnprintf.c
deleted file mode 100644
index c6f52092d..000000000
--- a/nuttx/lib/stdio/lib_vsnprintf.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_vsnprintf.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdio.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: vsnprintf
- ****************************************************************************/
-
-int vsnprintf(FAR char *buf, size_t size, const char *format, va_list ap)
-{
- struct lib_memoutstream_s memoutstream;
- int n;
-
- /* Initialize a memory stream to write to the buffer */
-
- lib_memoutstream((FAR struct lib_memoutstream_s *)&memoutstream, buf, size);
-
- /* Then let lib_vsprintf do the real work */
-
- n = lib_vsprintf((FAR struct lib_outstream_s *)&memoutstream.public, format, ap);
- return n;
-}
diff --git a/nuttx/lib/stdio/lib_vsprintf.c b/nuttx/lib/stdio/lib_vsprintf.c
deleted file mode 100644
index 5db46664e..000000000
--- a/nuttx/lib/stdio/lib_vsprintf.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_vsprintf.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdio.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: vsprintf
- ****************************************************************************/
-
-int vsprintf(FAR char *dest, const char *src, va_list ap)
-{
- struct lib_memoutstream_s memoutstream;
-
- /* Wrap the destination buffer in a stream object and let
- * lib/stdio/lib_vsprintf do the work.
- */
-
- lib_memoutstream((FAR struct lib_memoutstream_s *)&memoutstream, dest, LIB_BUFLEN_UNKNOWN);
- return lib_vsprintf((FAR struct lib_outstream_s *)&memoutstream.public, src, ap);
-}
diff --git a/nuttx/lib/stdio/lib_wrflush.c b/nuttx/lib/stdio/lib_wrflush.c
deleted file mode 100644
index 39680da6a..000000000
--- a/nuttx/lib/stdio/lib_wrflush.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_wrflush.c
- *
- * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Global Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_wrflush
- *
- * Description:
- * This is simply a version of fflush that does not report an error if
- * the file is not open for writing.
- *
- ****************************************************************************/
-
-int lib_wrflush(FAR FILE *stream)
-{
-#if CONFIG_STDIO_BUFFER_SIZE > 0
- /* Verify that we were passed a valid (i.e., non-NULL) stream */
-
-#ifdef CONFIG_DEBUG
- if (!stream)
- {
- return -EINVAL;
- }
-#endif
-
- /* Verify that the stream is opened for writing... lib_fflush will
- * return an error if it is called for a stream that is not opened for
- * writing. Check that first so that this function will not fail in
- * that case.
- */
-
- if ((stream->fs_oflags & O_WROK) == 0)
- {
- /* Report that the success was successful if we attempt to flush a
- * read-only stream.
- */
-
- return OK;
- }
-
- /* Flush the stream. Return success if there is no buffered write data
- * -- i.e., that the stream is opened for writing and that all of the
- * buffered write data was successfully flushed by lib_fflush().
- */
-
- return lib_fflush(stream, true);
-#else
- /* Verify that we were passed a valid (i.e., non-NULL) stream */
-
-#ifdef CONFIG_DEBUG
- if (!stream)
- {
- return -EINVAL;
- }
-#endif
-
- return OK;
-#endif
-}
diff --git a/nuttx/lib/stdio/lib_zeroinstream.c b/nuttx/lib/stdio/lib_zeroinstream.c
deleted file mode 100644
index 39a6c22ef..000000000
--- a/nuttx/lib/stdio/lib_zeroinstream.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
- * lib/stdio/lib_zeroinstream.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <stdio.h>
-#include <errno.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-static int zeroinstream_getc(FAR struct lib_instream_s *this)
-{
- this->nget++;
- return 0;
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_zeroinstream
- *
- * Description:
- * Initializes a NULL stream. The initialized stream will return an
- * infinitely long stream of zeroes.
- *
- * Input parameters:
- * zeroinstream - User allocated, uninitialized instance of struct
- * lib_instream_s to be initialized.
- *
- * Returned Value:
- * None (User allocated instance initialized).
- *
- ****************************************************************************/
-
-void lib_zeroinstream(FAR struct lib_instream_s *zeroinstream)
-{
- zeroinstream->get = zeroinstream_getc;
- zeroinstream->nget = 0;
-}
-
diff --git a/nuttx/lib/stdlib/Make.defs b/nuttx/lib/stdlib/Make.defs
deleted file mode 100644
index 76e285808..000000000
--- a/nuttx/lib/stdlib/Make.defs
+++ /dev/null
@@ -1,44 +0,0 @@
-############################################################################
-# lib/stdlib/Make.defs
-#
-# Copyright (C) 2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the stdlib C files to the build
-
-CSRCS += lib_abs.c lib_abort.c lib_imaxabs.c lib_labs.c lib_llabs.c \
- lib_rand.c lib_qsort.c
-
-# Add the stdlib directory to the build
-
-DEPPATH += --dep-path stdlib
-VPATH += :stdlib
diff --git a/nuttx/lib/stdlib/lib_abort.c b/nuttx/lib/stdlib/lib_abort.c
deleted file mode 100644
index 84b600950..000000000
--- a/nuttx/lib/stdlib/lib_abort.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/************************************************************************
- * lib/stdlib/lib_abort.c
- *
- * Copyright (C) 2007, 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdlib.h>
-#include <pthread.h>
-
-/************************************************************************
- * Pre-processor Definitions
- ************************************************************************/
-
-/************************************************************************
- * Private Type Declarations
- ************************************************************************/
-
-/************************************************************************
- * Global Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Variables
- ************************************************************************/
-
-/************************************************************************
- * Private Function Prototypes
- ************************************************************************/
-
-/************************************************************************
- * Private Functions
- ************************************************************************/
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-/************************************************************************
- * Name: Abort
- *
- * Description:
- * The abort() first unblocks the SIGABRT signal, and then raises that
- * signal for the calling process. This results in the abnormal
- * termination of the process unless the SIGABRT signal is caught and
- * the signal handler does not return.
- *
- * If the abort() function causes process termination, all open
- * streams are closed and flushed.
- *
- * If the SIGABRT signal is ignored, or caught by a handler that
- * returns, the abort() function will still terminate the process.
- * It does this by restoring the default disposition for SIGABRT and
- * then raising the signal for a second time.
- *
- * Input parameters:
- * None
- *
- * Returned Value:
- * This function does not return,
- *
- ************************************************************************/
-
-void abort(void)
-{
- /* NuttX does not support standard signal functionality (like the
- * behavior of the SIGABRT signal). So no attempt is made to provide
- * a conformant version of abort() at this time. This version does not
- * signal the calling thread all.
- *
- * Note that pthread_exit() is called instead of exit(). That is because
- * we do no know if abort was called from a pthread or a normal thread
- * (we could find out, of course). If abort() is called from a non-pthread,
- * then pthread_exit() should fail and fall back to call exit() anyway.
- *
- * If exit() is called (either below or via pthread_exit()), then exit()
- * will flush and close all open files and terminate the thread. If this
- * function was called from a pthread, then pthread_exit() will complete
- * any joins, but will not flush or close any streams.
- */
-
-#ifdef CONFIG_DISABLE_PTHREAD
- exit(EXIT_FAILURE);
-#else
- pthread_exit(NULL);
-#endif
-}
diff --git a/nuttx/lib/stdlib/lib_abs.c b/nuttx/lib/stdlib/lib_abs.c
deleted file mode 100644
index 1a0c1671c..000000000
--- a/nuttx/lib/stdlib/lib_abs.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/************************************************************************
- * lib/stdlib/lib_abs.c
- *
- * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <stdlib.h>
-
-/************************************************************************
- * Global Functions
- ************************************************************************/
-
-int abs(int j)
-{
- if (j < 0)
- {
- j = -j;
- }
- return j;
-}
diff --git a/nuttx/lib/stdlib/lib_imaxabs.c b/nuttx/lib/stdlib/lib_imaxabs.c
deleted file mode 100644
index c6e227c7d..000000000
--- a/nuttx/lib/stdlib/lib_imaxabs.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/************************************************************************
- * lib/stdlib//lib_abs.c
- *
- * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <inttypes.h>
-
-/************************************************************************
- * Global Functions
- ************************************************************************/
-
-intmax_t imaxabs(intmax_t j)
-{
- if (j < 0)
- {
- j = -j;
- }
- return j;
-}
diff --git a/nuttx/lib/stdlib/lib_labs.c b/nuttx/lib/stdlib/lib_labs.c
deleted file mode 100644
index f7218ee83..000000000
--- a/nuttx/lib/stdlib/lib_labs.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/************************************************************************
- * lib/stdlib/lib_labs.c
- *
- * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <stdlib.h>
-
-/************************************************************************
- * Global Functions
- ************************************************************************/
-
-long int labs(long int j)
-{
- if (j < 0)
- {
- j = -j;
- }
- return j;
-}
diff --git a/nuttx/lib/stdlib/lib_llabs.c b/nuttx/lib/stdlib/lib_llabs.c
deleted file mode 100644
index db7d3dbe0..000000000
--- a/nuttx/lib/stdlib/lib_llabs.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/************************************************************************
- * lib/stdlib/lib_llabs.c
- *
- * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-#include <stdlib.h>
-
-/************************************************************************
- * Global Functions
- ************************************************************************/
-
-#ifdef CONFIG_HAVE_LONG_LONG
-long long int llabs(long long int j)
-{
- if (j < 0)
- {
- j = -j;
- }
- return j;
-}
-#endif
diff --git a/nuttx/lib/stdlib/lib_qsort.c b/nuttx/lib/stdlib/lib_qsort.c
deleted file mode 100644
index 9dd5c0040..000000000
--- a/nuttx/lib/stdlib/lib_qsort.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/****************************************************************************
- * lib/stdlib/lib_qsort.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Leveraged from:
- *
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdlib.h>
-
-/****************************************************************************
- * Preprocessor Definitions
- ****************************************************************************/
-
-#define min(a, b) (a) < (b) ? a : b
-
-#define swapcode(TYPE, parmi, parmj, n) \
- { \
- long i = (n) / sizeof (TYPE); \
- register TYPE *pi = (TYPE *) (parmi); \
- register TYPE *pj = (TYPE *) (parmj); \
- do { \
- register TYPE t = *pi; \
- *pi++ = *pj; \
- *pj++ = t; \
- } while (--i > 0); \
- }
-
-#define SWAPINIT(a, size) \
- swaptype = ((char *)a - (char *)0) % sizeof(long) || \
- size % sizeof(long) ? 2 : size == sizeof(long)? 0 : 1;
-
-#define swap(a, b) \
- if (swaptype == 0) \
- { \
- long t = *(long *)(a); \
- *(long *)(a) = *(long *)(b); \
- *(long *)(b) = t; \
- } \
- else \
- { \
- swapfunc(a, b, size, swaptype); \
- }
-
-#define vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n, swaptype)
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-static inline void swapfunc(char *a, char *b, int n, int swaptype);
-static inline char *med3(char *a, char *b, char *c,
- int (*compar)(const void *, const void *));
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-static inline void swapfunc(char *a, char *b, int n, int swaptype)
-{
- if(swaptype <= 1)
- {
- swapcode(long, a, b, n)
- }
- else
- {
- swapcode(char, a, b, n)
- }
-}
-
-static inline char *med3(char *a, char *b, char *c,
- int (*compar)(const void *, const void *))
-{
- return compar(a, b) < 0 ?
- (compar(b, c) < 0 ? b : (compar(a, c) < 0 ? c : a ))
- :(compar(b, c) > 0 ? b : (compar(a, c) < 0 ? a : c ));
-}
-
-/****************************************************************************
- * Public Function
- ****************************************************************************/
-
-/****************************************************************************
- * Name: qsort
- *
- * Description:
- * Qsort routine from Bentley & McIlroy's "Engineering a Sort Function".
- *
- ****************************************************************************/
-
-void qsort(void *base, size_t nmemb, size_t size,
- int(*compar)(const void *, const void *))
-{
- char *pa, *pb, *pc, *pd, *pl, *pm, *pn;
- int d, r, swaptype, swap_cnt;
-
-loop:
- SWAPINIT(base, size);
- swap_cnt = 0;
- if (nmemb < 7)
- {
- for (pm = (char *) base + size; pm < (char *) base + nmemb * size; pm += size)
- {
- for (pl = pm; pl > (char *) base && compar(pl - size, pl) > 0; pl -= size)
- {
- swap(pl, pl - size);
- }
- }
- return;
- }
-
- pm = (char *) base + (nmemb / 2) * size;
- if (nmemb > 7)
- {
- pl = base;
- pn = (char *) base + (nmemb - 1) * size;
- if (nmemb > 40)
- {
- d = (nmemb / 8) * size;
- pl = med3(pl, pl + d, pl + 2 * d, compar);
- pm = med3(pm - d, pm, pm + d, compar);
- pn = med3(pn - 2 * d, pn - d, pn, compar);
- }
- pm = med3(pl, pm, pn, compar);
- }
- swap(base, pm);
- pa = pb = (char *) base + size;
-
- pc = pd = (char *) base + (nmemb - 1) * size;
- for (;;)
- {
- while (pb <= pc && (r = compar(pb, base)) <= 0)
- {
- if (r == 0)
- {
- swap_cnt = 1;
- swap(pa, pb);
- pa += size;
- }
- pb += size;
- }
- while (pb <= pc && (r = compar(pc, base)) >= 0)
- {
- if (r == 0)
- {
- swap_cnt = 1;
- swap(pc, pd);
- pd -= size;
- }
- pc -= size;
- }
-
- if (pb > pc)
- {
- break;
- }
-
- swap(pb, pc);
- swap_cnt = 1;
- pb += size;
- pc -= size;
- }
-
- if (swap_cnt == 0)
- {
- /* Switch to insertion sort */
-
- for (pm = (char *) base + size; pm < (char *) base + nmemb * size; pm += size)
- {
- for (pl = pm; pl > (char *) base && compar(pl - size, pl) > 0; pl -= size)
- {
- swap(pl, pl - size);
- }
- }
- return;
- }
-
- pn = (char *) base + nmemb * size;
- r = min(pa - (char *)base, pb - pa);
- vecswap(base, pb - r, r);
- r = min(pd - pc, pn - pd - size);
- vecswap(pb, pn - r, r);
-
- if ((r = pb - pa) > size)
- {
- qsort(base, r / size, size, compar);
- }
-
- if ((r = pd - pc) > size)
- {
- /* Iterate rather than recurse to save stack space */
- base = pn - r;
- nmemb = r / size;
- goto loop;
- }
-}
-
diff --git a/nuttx/lib/stdlib/lib_rand.c b/nuttx/lib/stdlib/lib_rand.c
deleted file mode 100644
index 7227c52d0..000000000
--- a/nuttx/lib/stdlib/lib_rand.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/************************************************************
- * lib/stdlib/lib_rand.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <sys/types.h>
-#include <stdlib.h>
-
-/************************************************************
- * Definitions
- ************************************************************/
-
-#ifndef CONFIG_LIB_RAND_ORDER
-#define CONFIG_LIB_RAND_ORDER 1
-#endif
-
-/* Values needed by the random number generator */
-
-#define RND1_CONSTK 470001
-#define RND1_CONSTP 999563
-#define RND2_CONSTK1 366528
-#define RND2_CONSTK2 508531
-#define RND2_CONSTP 998917
-#define RND3_CONSTK1 360137
-#define RND3_CONSTK2 519815
-#define RND3_CONSTK3 616087
-#define RND3_CONSTP 997783
-
-#if CONFIG_LIB_RAND_ORDER == 1
-# define RND_CONSTP RND1_CONSTP
-#elif CONFIG_LIB_RAND_ORDER == 2
-# define RND_CONSTP RND2_CONSTP
-#else
-# define RND_CONSTP RND3_CONSTP
-#endif
-
-/************************************************************
- * Private Type Declarations
- ************************************************************/
-
-/************************************************************
- * Private Function Prototypes
- ************************************************************/
-
-static unsigned int nrand(unsigned int nLimit);
-static double_t frand1(void);
-#if (CONFIG_LIB_RAND_ORDER > 1)
-static double_t frand2(void);
-#if (CONFIG_LIB_RAND_ORDER > 2)
-static double_t frand3(void);
-#endif
-#endif
-
-/**********************************************************
- * Global Constant Data
- **********************************************************/
-
-/************************************************************
- * Global Variables
- ************************************************************/
-
-/**********************************************************
- * Private Constant Data
- **********************************************************/
-
-/************************************************************
- * Private Variables
- ************************************************************/
-
-static unsigned long g_nRandInt1;
-#if (CONFIG_LIB_RAND_ORDER > 1)
-static unsigned long g_nRandInt2;
-#if (CONFIG_LIB_RAND_ORDER > 2)
-static unsigned long g_nRandInt3;
-#endif
-#endif
-
-/************************************************************
- * Private Functions
- ************************************************************/
-
-static unsigned int nrand(unsigned int nLimit)
-{
- unsigned long nResult;
- double_t fRatio;
-
- /* Loop to be sure a legal random number is generated */
- do {
-
- /* Get a random integer in the requested range */
-#if (CONFIG_LIB_RAND_ORDER == 1)
- fRatio = frand1();
-#elif (CONFIG_LIB_RAND_ORDER == 2)
- fRatio = frand2();
-#else
- fRatio = frand3();
-#endif
-
- /* Then, produce the return-able value */
- nResult = (unsigned long)(((double_t)nLimit) * fRatio);
-
- } while (nResult >= (unsigned long)nLimit);
-
- return (unsigned int)nResult;
-
-} /* end nrand */
-
-static double_t frand1(void)
-{
- unsigned long nRandInt;
-
- /* First order congruential generator */
- nRandInt = (RND1_CONSTK * g_nRandInt1) % RND1_CONSTP;
- g_nRandInt1 = nRandInt;
-
- /* Construct an floating point value in the range from 0.0 up to 1.0 */
- return ((double_t)nRandInt) / ((double_t)RND_CONSTP);
-
-} /* end frand */
-
-#if (CONFIG_LIB_RAND_ORDER > 1)
-static double_t frand2(void)
-{
- unsigned long nRandInt;
-
- /* Second order congruential generator */
- nRandInt = (RND2_CONSTK1 * g_nRandInt1 + RND2_CONSTK2 * g_nRandInt2) %
- RND2_CONSTP;
- g_nRandInt2 = g_nRandInt1;
- g_nRandInt1 = nRandInt;
-
- /* Construct an floating point value in the range from 0.0 up to 1.0 */
- return ((double_t)nRandInt) / ((double_t)RND_CONSTP);
-
-} /* end frand */
-
-#if (CONFIG_LIB_RAND_ORDER > 2)
-static double_t frand3(void)
-{
- unsigned long nRandInt;
-
- /* Third order congruential generator */
- nRandInt = (RND3_CONSTK1 * g_nRandInt1 + RND3_CONSTK2 * g_nRandInt2 +
- RND3_CONSTK2 * g_nRandInt3) % RND3_CONSTP;
- g_nRandInt3 = g_nRandInt2;
- g_nRandInt2 = g_nRandInt1;
- g_nRandInt1 = nRandInt;
-
- /* Construct an floating point value in the range from 0.0 up to 1.0 */
- return ((double_t)nRandInt) / ((double_t)RND_CONSTP);
-
-} /* end frand */
-#endif
-#endif
-
-/************************************************************
- * Public Functions
- ************************************************************/
-/************************************************************
- * Function: srand, rand
- ************************************************************/
-
-void srand(unsigned int seed)
-{
- g_nRandInt1 = seed;
-#if (CONFIG_LIB_RAND_ORDER > 1)
- g_nRandInt2 = seed;
- (void)frand1();
-#if (CONFIG_LIB_RAND_ORDER > 2)
- g_nRandInt3 = seed;
- (void)frand2();
-#endif
-#endif
-
-} /* end srand */
-
-int rand(void)
-{
- return (int)nrand(32768);
-
-} /* end rand */
-
diff --git a/nuttx/lib/string/Make.defs b/nuttx/lib/string/Make.defs
deleted file mode 100644
index 191b9ffea..000000000
--- a/nuttx/lib/string/Make.defs
+++ /dev/null
@@ -1,58 +0,0 @@
-############################################################################
-# lib/string/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the string C files to the build
-
-CSRCS += lib_checkbase.c lib_isbasedigit.c lib_memset.c lib_memchr.c \
- lib_memccpy.c lib_memcmp.c lib_memmove.c lib_skipspace.c \
- lib_strcasecmp.c lib_strcat.c lib_strchr.c lib_strcpy.c lib_strcmp.c \
- lib_strcspn.c lib_strdup.c lib_strerror.c lib_strlen.c lib_strnlen.c \
- lib_strncasecmp.c lib_strncat.c lib_strncmp.c lib_strncpy.c \
- lib_strndup.c lib_strcasestr.c lib_strpbrk.c lib_strrchr.c\
- lib_strspn.c lib_strstr.c lib_strtok.c lib_strtokr.c lib_strtol.c \
- lib_strtoll.c lib_strtoul.c lib_strtoull.c lib_strtod.c
-
-ifneq ($(CONFIG_ARCH_MEMCPY),y)
-ifeq ($(CONFIG_MEMCPY_VIK),y)
-CSRCS += lib_vikmemcpy.c
-else
-CSRCS += lib_memcpy.c
-endif
-endif
-
-# Add the string directory to the build
-
-DEPPATH += --dep-path string
-VPATH += :string
diff --git a/nuttx/lib/string/lib_checkbase.c b/nuttx/lib/string/lib_checkbase.c
deleted file mode 100644
index bc79ab2ce..000000000
--- a/nuttx/lib/string/lib_checkbase.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
- * lib/string/lib_checkbase.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-#include <ctype.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_checkbase
- *
- * Description:
- * This is part of the strol() family implementation. This function checks
- * the initial part of a string to see if it can determine the numeric
- * base that is represented.
- *
- * Assumptions:
- * *ptr points to the first, non-whitespace character in the string.
- *
- ****************************************************************************/
-
-int lib_checkbase(int base, const char **pptr)
-{
- const char *ptr = *pptr;
-
- /* Check for unspecified base */
-
- if (!base)
- {
- /* Assume base 10 */
-
- base = 10;
-
- /* Check for leading '0' - that would signify octal or hex (or binary) */
-
- if (*ptr == '0')
- {
- /* Assume octal */
-
- base = 8;
- ptr++;
-
- /* Check for hexidecimal */
-
- if ((*ptr == 'X' || *ptr == 'x') &&
- lib_isbasedigit(ptr[1], 16, NULL))
- {
- base = 16;
- ptr++;
- }
- }
- }
-
- /* If it a hexidecimal representation, than discard any leading "0X" or "0x" */
-
- else if (base == 16)
- {
- if (ptr[0] == '0' && (ptr[1] == 'X' || ptr[1] == 'x'))
- {
- ptr += 2;
- }
- }
-
- /* Return the updated pointer and base */
-
- *pptr = ptr;
- return base;
-}
-
diff --git a/nuttx/lib/string/lib_isbasedigit.c b/nuttx/lib/string/lib_isbasedigit.c
deleted file mode 100644
index a2421bf2a..000000000
--- a/nuttx/lib/string/lib_isbasedigit.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
- * lib/string/lib_isbasedigit.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <string.h>
-#include <ctype.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_isbasedigit
- *
- * Description:
- * Given an ASCII character, ch, and a base (1-36) do two
- * things: 1) Determine if ch is a valid charcter, and 2)
- * convert ch to its binary value.
- *
- ****************************************************************************/
-
-bool lib_isbasedigit(int ch, int base, int *value)
-{
- bool ret = false;
- int tmp = 0;
-
- if (base <= 10)
- {
- if (ch >= '0' && ch <= base + '0' - 1)
- {
- tmp = ch - '0';
- ret = true;
- }
- }
- else if (base <= 36)
- {
- if (ch >= '0' && ch <= '9')
- {
- tmp = ch - '0';
- ret = true;
- }
- else if (ch >= 'a' && ch <= 'a' + base - 11)
- {
- tmp = ch - 'a' + 10;
- ret = true;
- }
- else if (ch >= 'A' && ch <= 'A' + base - 11)
- {
- tmp = ch - 'A' + 10;
- ret = true;
- }
- }
-
- if (value)
- {
- *value = tmp;
- }
- return ret;
-}
-
-
diff --git a/nuttx/lib/string/lib_memccpy.c b/nuttx/lib/string/lib_memccpy.c
deleted file mode 100644
index 1f3dbb52d..000000000
--- a/nuttx/lib/string/lib_memccpy.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
- * lib/string/lib_memccpy.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-
-/****************************************************************************
- * Name: memccpy
- *
- * Description:
- * The memccpy() function copies bytes from memory area s2 into s1,
- * stopping after the first occurrence of byte c (converted to an unsigned
- * char) is copied, or after n bytes are copied, whichever comes first. If
- * copying takes place between objects that overlap, the behavior is
- * undefined.
- *
- * Returned Value:
- * The memccpy() function returns a pointer to the byte after the copy of c
- * in s1, or a null pointer if c was not found in the first n bytes of s2.
- *
- ****************************************************************************/
-
-FAR void *memccpy(FAR void *s1, FAR const void *s2, int c, size_t n)
-{
- FAR unsigned char *pout = (FAR unsigned char*)s1;
- FAR unsigned char *pin = (FAR unsigned char*)s2;
-
- /* Copy at most n bytes */
-
- while (n-- > 0)
- {
- /* Copy one byte */
-
- *pout = *pin++;
-
- /* Did we just copy the terminating byte c? */
-
- if (*pout == (unsigned char)c)
- {
- /* Yes return a pointer to the byte after the copy of c into s1 */
-
- return (FAR void *)pout;
- }
-
- /* No increment to the next destination location */
-
- pout++;
- }
-
- /* C was not found in the first n bytes of s2 */
-
- return NULL;
-}
diff --git a/nuttx/lib/string/lib_memchr.c b/nuttx/lib/string/lib_memchr.c
deleted file mode 100644
index e0dec8270..000000000
--- a/nuttx/lib/string/lib_memchr.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
- * lib/string/lib_memchr.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: memchr
- *
- * Description:
- * The memchr() function locates the first occurrence of 'c' (converted to
- * an unsigned char) in the initial 'n' bytes (each interpreted as
- * unsigned char) of the object pointed to by s.
- *
- * Returned Value:
- * The memchr() function returns a pointer to the located byte, or a null
- * pointer if the byte does not occur in the object.
- *
- ****************************************************************************/
-
-FAR void *memchr(FAR const void *s, int c, size_t n)
-{
- FAR const unsigned char *p = (FAR const unsigned char *)s;
-
- if (s)
- {
- while (n--)
- {
- if (*p == (unsigned char)c)
- {
- return (FAR void *)p;
- }
-
- p++;
- }
- }
-
- return NULL;
-}
diff --git a/nuttx/lib/string/lib_memcmp.c b/nuttx/lib/string/lib_memcmp.c
deleted file mode 100644
index eb2e1fd12..000000000
--- a/nuttx/lib/string/lib_memcmp.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/************************************************************
- * lib/string/lib_memcmp.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/************************************************************
- * Global Functions
- ************************************************************/
-
-#ifndef CONFIG_ARCH_MEMCMP
-int memcmp(const void *s1, const void *s2, size_t n)
-{
- unsigned char *p1 = (unsigned char *)s1;
- unsigned char *p2 = (unsigned char *)s2;
-
- while (n-- > 0)
- {
- if (*p1 < *p2)
- {
- return -1;
- }
- else if (*p1 > *p2)
- {
- return 1;
- }
-
- p1++;
- p2++;
- }
- return 0;
-}
-#endif
diff --git a/nuttx/lib/string/lib_memcpy.c b/nuttx/lib/string/lib_memcpy.c
deleted file mode 100644
index 3b62edbab..000000000
--- a/nuttx/lib/string/lib_memcpy.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
- * lib/string/lib_memcpy.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: memcpy
- ****************************************************************************/
-
-#ifndef CONFIG_ARCH_MEMCPY
-FAR void *memcpy(FAR void *dest, FAR const void *src, size_t n)
-{
- FAR unsigned char *pout = (FAR unsigned char*)dest;
- FAR unsigned char *pin = (FAR unsigned char*)src;
- while (n-- > 0) *pout++ = *pin++;
- return dest;
-}
-#endif
diff --git a/nuttx/lib/string/lib_memmove.c b/nuttx/lib/string/lib_memmove.c
deleted file mode 100644
index 85cb79e17..000000000
--- a/nuttx/lib/string/lib_memmove.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/************************************************************
- * lib/string/lib_memmove.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Compilation Switches
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/************************************************************
- * Global Functions
- ************************************************************/
-
-#ifndef CONFIG_ARCH_MEMMOVE
-void *memmove(void *dest, const void *src, size_t count)
-{
- char *tmp, *s;
- if (dest <= src)
- {
- tmp = (char*) dest;
- s = (char*) src;
- while (count--)
- {
- *tmp++ = *s++;
- }
- }
- else
- {
- tmp = (char*) dest + count;
- s = (char*) src + count;
- while (count--)
- {
- *--tmp = *--s;
- }
- }
-
- return dest;
-}
-#endif
diff --git a/nuttx/lib/string/lib_memset.c b/nuttx/lib/string/lib_memset.c
deleted file mode 100644
index 31c386e92..000000000
--- a/nuttx/lib/string/lib_memset.c
+++ /dev/null
@@ -1,188 +0,0 @@
-
-/****************************************************************************
- * lib/string/lib_memset.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-
-#include <stdint.h>
-#include <string.h>
-#include <assert.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/* Can't support CONFIG_MEMSET_64BIT if the platform does not have 64-bit
- * integer types.
- */
-
-#ifndef CONFIG_HAVE_LONG_LONG
-# undef CONFIG_MEMSET_64BIT
-#endif
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-#ifndef CONFIG_ARCH_MEMSET
-void *memset(void *s, int c, size_t n)
-{
-#ifdef CONFIG_MEMSET_OPTSPEED
- /* This version is optimized for speed (you could do better
- * still by exploiting processor caching or memory burst
- * knowledge.)
- */
-
- uintptr_t addr = (uintptr_t)s;
- uint16_t val16 = ((uint16_t)c << 8) | (uint16_t)c;
- uint32_t val32 = ((uint32_t)val16 << 16) | (uint32_t)val16;
-#ifdef CONFIG_MEMSET_64BIT
- uint64_t val64 = ((uint64_t)val32 << 32) | (uint64_t)val32;
-#endif
-
- /* Make sure that there is something to be cleared */
-
- if (n > 0)
- {
- /* Align to a 16-bit boundary */
-
- if ((addr & 1) != 0)
- {
- *(uint8_t*)addr = (uint8_t)c;
- addr += 1;
- n -= 1;
- }
-
- /* Check if there are at least 16-bits left to be written */
-
- if (n >= 2)
- {
- /* Align to a 32-bit boundary (we know that the destination
- * address is already aligned to at least a 16-bit boundary).
- */
-
- if ((addr & 3) != 0)
- {
- *(uint16_t*)addr = val16;
- addr += 2;
- n -= 2;
- }
-
-#ifndef CONFIG_MEMSET_64BIT
- /* Loop while there are at least 32-bits left to be written */
-
- while (n >= 4)
- {
- *(uint32_t*)addr = val32;
- addr += 4;
- n -= 4;
- }
-#else
- /* Check if there are at least 32-bits left to be written */
-
- if (n >= 4)
- {
- /* Align to a 64-bit boundary (we know that the destination
- * address is already aligned to at least a 32-bit boundary).
- */
-
- if ((addr & 7) != 0)
- {
- *(uint32_t*)addr = val32;
- addr += 4;
- n -= 4;
- }
-
- /* Loop while there are at least 64-bits left to be written */
-
- while (n >= 8)
- {
- *(uint64_t*)addr = val64;
- addr += 8;
- n -= 8;
- }
- }
-#endif
- }
-
-#ifdef CONFIG_MEMSET_64BIT
- /* We may get here with n in the range 0..7. If n >= 4, then we should
- * have 64-bit alignment.
- */
-
- if (n >= 4)
- {
- *(uint32_t*)addr = val32;
- addr += 4;
- n -= 4;
- }
-#endif
-
- /* We may get here under the following conditions:
- *
- * n = 0, addr may or may not be aligned
- * n = 1, addr is aligned to at least a 16-bit boundary
- * n = 2, addr is aligned to a 32-bit boundary
- * n = 3, addr is aligned to a 32-bit boundary
- */
-
- if (n >= 2)
- {
- *(uint16_t*)addr = val16;
- addr += 2;
- n -= 2;
- }
-
- if (n >= 1)
- {
- *(uint8_t*)addr = (uint8_t)c;
- }
- }
-#else
- /* This version is optimized for size */
-
- unsigned char *p = (unsigned char*)s;
- while (n-- > 0) *p++ = c;
-#endif
- return s;
-}
-#endif
diff --git a/nuttx/lib/string/lib_skipspace.c b/nuttx/lib/string/lib_skipspace.c
deleted file mode 100644
index b4e6588e5..000000000
--- a/nuttx/lib/string/lib_skipspace.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
- * lib/string/lib_skipspace.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-#include <ctype.h>
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: lib_skipspace
- *
- * Description:
- * Skip over leading whitespace
- *
- ****************************************************************************/
-
-void lib_skipspace(const char **pptr)
-{
- const char *ptr = *pptr;
- while (isspace(*ptr)) ptr++;
- *pptr = ptr;
-}
-
-
diff --git a/nuttx/lib/string/lib_strcasecmp.c b/nuttx/lib/string/lib_strcasecmp.c
deleted file mode 100644
index d4aa8cc03..000000000
--- a/nuttx/lib/string/lib_strcasecmp.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strcasecmp.c
- *
- * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- *****************************************************************************/
-
-/****************************************************************************
- * Included Files
- *****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-#include <ctype.h>
-
-/****************************************************************************
- * Public Functions
- *****************************************************************************/
-
-#ifndef CONFIG_ARCH_STRCMP
-int strcasecmp(const char *cs, const char *ct)
-{
- int result;
- for (;;)
- {
- if ((result = (int)toupper(*cs) - (int)toupper(*ct)) != 0 || !*cs)
- {
- break;
- }
-
- cs++;
- ct++;
- }
- return result;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strcasestr.c b/nuttx/lib/string/lib_strcasestr.c
deleted file mode 100644
index 23f0ab57e..000000000
--- a/nuttx/lib/string/lib_strcasestr.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strstr.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use str source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions str binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer str
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-#include <ctype.h>
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-static FAR char *strcasechr(FAR const char *s, int uc)
-{
- register char ch;
-
- if (s)
- {
- for (; *s; s++)
- {
- ch = *s;
- if (toupper(ch) == uc)
- {
- return (FAR char*)s;
- }
- }
- }
-
- return NULL;
-}
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-FAR char *strcasestr(FAR const char *str, FAR const char *substr)
-{
- const char *candidate; /* Candidate in str with matching start character */
- char ch; /* First character of the substring */
- int len; /* The length of the substring */
-
- /* Special case the empty substring */
-
- len = strlen(substr);
- ch = *substr;
-
- if (!ch)
- {
- /* We'll say that an empty substring matches at the beginning of
- * the string
- */
-
- return (char*)str;
- }
-
- /* Search for the substring */
-
- candidate = str;
- ch = toupper(ch);
-
- for (;;)
- {
- /* strcasechr() will return a pointer to the next occurrence of the
- * character ch in the string (ignoring case)
- */
-
- candidate = strcasechr(candidate, ch);
- if (!candidate || strlen(candidate) < len)
- {
- /* First character of the substring does not appear in the string
- * or the remainder of the string is not long enough to contain the
- * substring.
- */
-
- return NULL;
- }
-
- /* Check if this is the beginning of a matching substring (ignoring case) */
-
- if (strncasecmp(candidate, substr, len) == 0)
- {
- /* Yes.. return the pointer to the first occurrence of the matching
- * substring.
- */
-
- return (char*)candidate;
- }
-
- /* No, find the next candidate after this one */
-
- candidate++;
- }
-
- /* Won't get here, but some compilers might complain */
-
- return NULL;
-}
-
diff --git a/nuttx/lib/string/lib_strcat.c b/nuttx/lib/string/lib_strcat.c
deleted file mode 100644
index 20350fec0..000000000
--- a/nuttx/lib/string/lib_strcat.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strcat.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-#ifndef CONFIG_ARCH_STRCAT
-char *strcat(char *dest, const char *src)
-{
- char *ret = dest;
-
- dest += strlen(dest);
- while (*src != '\0')
- {
- *dest++ = *src++;
- }
- *dest = '\0';
-
- return ret;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strchr.c b/nuttx/lib/string/lib_strchr.c
deleted file mode 100644
index d0bd22a0e..000000000
--- a/nuttx/lib/string/lib_strchr.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strchr.c
- *
- * Copyright (C) 2007, 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: strchr
- *
- * Description:
- * The strchr() function locates the first occurrence of 'c' (converted to
- * a char) in the string pointed to by 's'. The terminating null byte is
- * considered to be part of the string.
- *
- * Returned Value:
- * Upon completion, strchr() returns a pointer to the byte, or a null
- * pointer if the byte was not found.
- *
- ****************************************************************************/
-
-#ifndef CONFIG_ARCH_STRCHR
-FAR char *strchr(FAR const char *s, int c)
-{
- if (s)
- {
- for (; *s; s++)
- {
- if (*s == c)
- {
- return (FAR char *)s;
- }
- }
- }
-
- return NULL;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strcmp.c b/nuttx/lib/string/lib_strcmp.c
deleted file mode 100644
index 0e3eee890..000000000
--- a/nuttx/lib/string/lib_strcmp.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strcmp.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- *****************************************************************************/
-
-/****************************************************************************
- * Included Files
- *****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-/****************************************************************************
- * Public Functions
- *****************************************************************************/
-
-#ifndef CONFIG_ARCH_STRCMP
-int strcmp(const char *cs, const char *ct)
-{
- register signed char result;
- for (;;)
- {
- if ((result = *cs - *ct++) != 0 || !*cs++)
- break;
- }
- return result;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strcpy.c b/nuttx/lib/string/lib_strcpy.c
deleted file mode 100644
index e2f70b94e..000000000
--- a/nuttx/lib/string/lib_strcpy.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/************************************************************************
- * lib/string/lib_strcpy.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-/************************************************************************
- * Global Functions
- ************************************************************************/
-
-#ifndef CONFIG_ARCH_STRCPY
-char *strcpy(char *dest, const char *src)
-{
- char *tmp = dest;
- while ((*dest++ = *src++) != '\0');
- return tmp;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strcspn.c b/nuttx/lib/string/lib_strcspn.c
deleted file mode 100644
index 9da89241c..000000000
--- a/nuttx/lib/string/lib_strcspn.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strcspn.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: strcspn
- *
- * Description:
- * strspn() calculates the length of the initial segment of s which
- * consists entirely of characters not in reject
- *
- ****************************************************************************/
-
-size_t strcspn(const char *s, const char *reject)
-{
- size_t i;
- for (i = 0; s[i] && strchr(reject, s[i]) == NULL; i++);
- return i;
-}
-
diff --git a/nuttx/lib/string/lib_strdup.c b/nuttx/lib/string/lib_strdup.c
deleted file mode 100644
index 44a0cbc0d..000000000
--- a/nuttx/lib/string/lib_strdup.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/************************************************************************
- * lib/string//lib_strdup.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-#include "lib_internal.h"
-
-/************************************************************************
- * Global Functions
- ************************************************************************/
-
-FAR char *strdup(const char *s)
-{
- FAR char *news = NULL;
- if (s)
- {
- news = (FAR char*)lib_malloc(strlen(s) + 1);
- if (news)
- {
- strcpy(news, s);
- }
- }
- return news;
-}
diff --git a/nuttx/lib/string/lib_strerror.c b/nuttx/lib/string/lib_strerror.c
deleted file mode 100644
index 249f695c1..000000000
--- a/nuttx/lib/string/lib_strerror.c
+++ /dev/null
@@ -1,375 +0,0 @@
-/************************************************************************
- * lib/string/lib_strerror.c
- *
- * Copyright (C) 2007, 2009, 2011-2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <string.h>
-#include <errno.h>
-
-/************************************************************************
- * Definitions
- ************************************************************************/
-
-/************************************************************************
- * Private Types
- ************************************************************************/
-
-struct errno_strmap_s
-{
- uint8_t errnum;
- const char *str;
-};
-
-/************************************************************************
- * Private Data
- ************************************************************************/
-
-#ifdef CONFIG_LIBC_STRERROR
-
-/* This table maps all error numbers to descriptive strings.
- * The only assumption that the code makes with regard to this
- * this table is that it is ordered by error number.
- *
- * The size of this table is quite large. Its size can be
- * reduced by eliminating some of the more obscure error
- * strings.
- */
-
-#ifndef CONFIG_LIBC_STRERROR_SHORT
-
-static const struct errno_strmap_s g_errnomap[] =
-{
- { EPERM, EPERM_STR },
- { ENOENT, ENOENT_STR },
- { ESRCH, ESRCH_STR },
- { EINTR, EINTR_STR },
- { EIO, EIO_STR },
- { ENXIO, ENXIO_STR },
- { E2BIG, E2BIG_STR },
- { ENOEXEC, ENOEXEC_STR },
- { EBADF, EBADF_STR },
- { ECHILD, ECHILD_STR },
- { EAGAIN, EAGAIN_STR },
- { ENOMEM, ENOMEM_STR },
- { EACCES, EACCES_STR },
- { EFAULT, EFAULT_STR },
- { ENOTBLK, ENOTBLK_STR },
- { EBUSY, EBUSY_STR },
- { EEXIST, EEXIST_STR },
- { EXDEV, EXDEV_STR },
- { ENODEV, ENODEV_STR },
- { ENOTDIR, ENOTDIR_STR },
- { EISDIR, EISDIR_STR },
- { EINVAL, EINVAL_STR },
- { ENFILE, ENFILE_STR },
- { EMFILE, EMFILE_STR },
- { ENOTTY, ENOTTY_STR },
- { ETXTBSY, ETXTBSY_STR },
- { EFBIG, EFBIG_STR },
- { ENOSPC, ENOSPC_STR },
- { ESPIPE, ESPIPE_STR },
- { EROFS, EROFS_STR },
- { EMLINK, EMLINK_STR },
- { EPIPE, EPIPE_STR },
- { EDOM, EDOM_STR },
- { ERANGE, ERANGE_STR },
- { EDEADLK, EDEADLK_STR },
- { ENAMETOOLONG, ENAMETOOLONG_STR },
- { ENOLCK, ENOLCK_STR },
- { ENOSYS, ENOSYS_STR },
- { ENOTEMPTY, ENOTEMPTY_STR },
- { ELOOP, ELOOP_STR },
- { ENOMSG, ENOMSG_STR },
- { EIDRM, EIDRM_STR },
- { ECHRNG, ECHRNG_STR },
- { EL2NSYNC, EL2NSYNC_STR },
- { EL3HLT, EL3HLT_STR },
- { EL3RST, EL3RST_STR },
- { ELNRNG, ELNRNG_STR },
- { EUNATCH, EUNATCH_STR },
- { ENOCSI, ENOCSI_STR },
- { EL2HLT, EL2HLT_STR },
- { EBADE, EBADE_STR },
- { EBADR, EBADR_STR },
- { EXFULL, EXFULL_STR },
- { ENOANO, ENOANO_STR },
- { EBADRQC, EBADRQC_STR },
- { EBADSLT, EBADSLT_STR },
- { EBFONT, EBFONT_STR },
- { ENOSTR, ENOSTR_STR },
- { ENODATA, ENODATA_STR },
- { ETIME, ETIME_STR },
- { ENOSR, ENOSR_STR },
- { ENONET, ENONET_STR },
- { ENOPKG, ENOPKG_STR },
- { EREMOTE, EREMOTE_STR },
- { ENOLINK, ENOLINK_STR },
- { EADV, EADV_STR },
- { ESRMNT, ESRMNT_STR },
- { ECOMM, ECOMM_STR },
- { EPROTO, EPROTO_STR },
- { EMULTIHOP, EMULTIHOP_STR },
- { EDOTDOT, EDOTDOT_STR },
- { EBADMSG, EBADMSG_STR },
- { EOVERFLOW, EOVERFLOW_STR },
- { ENOTUNIQ, ENOTUNIQ_STR },
- { EBADFD, EBADFD_STR },
- { EREMCHG, EREMCHG_STR },
- { ELIBACC, ELIBACC_STR },
- { ELIBBAD, ELIBBAD_STR },
- { ELIBSCN, ELIBSCN_STR },
- { ELIBMAX, ELIBMAX_STR },
- { ELIBEXEC, ELIBEXEC_STR },
- { EILSEQ, EILSEQ_STR },
- { ERESTART, ERESTART_STR },
- { ESTRPIPE, ESTRPIPE_STR },
- { EUSERS, EUSERS_STR },
- { ENOTSOCK, ENOTSOCK_STR },
- { EDESTADDRREQ, EDESTADDRREQ_STR },
- { EMSGSIZE, EMSGSIZE_STR },
- { EPROTOTYPE, EPROTOTYPE_STR },
- { ENOPROTOOPT, ENOPROTOOPT_STR },
- { EPROTONOSUPPORT, EPROTONOSUPPORT_STR },
- { ESOCKTNOSUPPORT, ESOCKTNOSUPPORT_STR },
- { EOPNOTSUPP, EOPNOTSUPP_STR },
- { EPFNOSUPPORT, EPFNOSUPPORT_STR },
- { EAFNOSUPPORT, EAFNOSUPPORT_STR },
- { EADDRINUSE, EADDRINUSE_STR },
- { EADDRNOTAVAIL, EADDRNOTAVAIL_STR },
- { ENETDOWN, ENETDOWN_STR },
- { ENETUNREACH, ENETUNREACH_STR },
- { ENETRESET, ENETRESET_STR },
- { ECONNABORTED, ECONNABORTED_STR },
- { ECONNRESET, ECONNRESET_STR },
- { ENOBUFS, ENOBUFS_STR },
- { EISCONN, EISCONN_STR },
- { ENOTCONN, ENOTCONN_STR },
- { ESHUTDOWN, ESHUTDOWN_STR },
- { ETOOMANYREFS, ETOOMANYREFS_STR },
- { ETIMEDOUT, ETIMEDOUT_STR },
- { ECONNREFUSED, ECONNREFUSED_STR },
- { EHOSTDOWN, EHOSTDOWN_STR },
- { EHOSTUNREACH, EHOSTUNREACH_STR },
- { EALREADY, EALREADY_STR },
- { EINPROGRESS, EINPROGRESS_STR },
- { ESTALE, ESTALE_STR },
- { EUCLEAN, EUCLEAN_STR },
- { ENOTNAM, ENOTNAM_STR },
- { ENAVAIL, ENAVAIL_STR },
- { EISNAM, EISNAM_STR },
- { EREMOTEIO, EREMOTEIO_STR },
- { EDQUOT, EDQUOT_STR },
- { ENOMEDIUM, ENOMEDIUM_STR },
- { EMEDIUMTYPE, EMEDIUMTYPE_STR }
-};
-
-#else /* CONFIG_LIBC_STRERROR_SHORT */
-
-static const struct errno_strmap_s g_errnomap[] =
-{
- { EPERM, "EPERM" },
- { ENOENT, "ENOENT" },
- { ESRCH, "ESRCH" },
- { EINTR, "EINTR" },
- { EIO, "EIO" },
- { ENXIO, "ENXIO" },
- { E2BIG, "E2BIG" },
- { ENOEXEC, "ENOEXEC" },
- { EBADF, "EBADF" },
- { ECHILD, "ECHILD" },
- { EAGAIN, "EAGAIN" },
- { ENOMEM, "ENOMEM" },
- { EACCES, "EACCES" },
- { EFAULT, "EFAULT" },
- { ENOTBLK, "ENOTBLK" },
- { EBUSY, "EBUSY" },
- { EEXIST, "EEXIST" },
- { EXDEV, "EXDEV" },
- { ENODEV, "ENODEV" },
- { ENOTDIR, "ENOTDIR" },
- { EISDIR, "EISDIR" },
- { EINVAL, "EINVAL" },
- { ENFILE, "ENFILE" },
- { EMFILE, "EMFILE" },
- { ENOTTY, "ENOTTY" },
- { ETXTBSY, "ETXTBSY" },
- { EFBIG, "EFBIG" },
- { ENOSPC, "ENOSPC" },
- { ESPIPE, "ESPIPE" },
- { EROFS, "EROFS" },
- { EMLINK, "EMLINK" },
- { EPIPE, "EPIPE" },
- { EDOM, "EDOM" },
- { ERANGE, "ERANGE" },
- { EDEADLK, "EDEADLK" },
- { ENAMETOOLONG, "ENAMETOOLONG" },
- { ENOLCK, "ENOLCK" },
- { ENOSYS, "ENOSYS" },
- { ENOTEMPTY, "ENOTEMPTY" },
- { ELOOP, "ELOOP" },
- { ENOMSG, "ENOMSG" },
- { EIDRM, "EIDRM" },
- { ECHRNG, "ECHRNG" },
- { EL2NSYNC, "EL2NSYNC" },
- { EL3HLT, "EL3HLT" },
- { EL3RST, "EL3RST" },
- { EL3RST, "EL3RST" },
- { EUNATCH, "EUNATCH" },
- { ENOCSI, "ENOCSI" },
- { EL2HLT, "EL2HLT" },
- { EBADE, "EBADE" },
- { EBADR, "EBADR" },
- { EXFULL, "EXFULL" },
- { ENOANO, "ENOANO" },
- { EBADRQC, "EBADRQC" },
- { EBADSLT, "EBADSLT" },
- { EBFONT, "EBFONT" },
- { ENOSTR, "ENOSTR" },
- { ENODATA, "ENODATA" },
- { ETIME, "ETIME" },
- { ENOSR, "ENOSR" },
- { ENONET, "ENONET" },
- { ENOPKG, "ENOPKG" },
- { EREMOTE, "EREMOTE" },
- { ENOLINK, "ENOLINK" },
- { EADV, "EADV" },
- { ESRMNT, "ESRMNT" },
- { ECOMM, "ECOMM" },
- { EPROTO, "EPROTO" },
- { EMULTIHOP, "EMULTIHOP" },
- { EDOTDOT, "EDOTDOT" },
- { EBADMSG, "EBADMSG" },
- { EOVERFLOW, "EOVERFLOW" },
- { ENOTUNIQ, "ENOTUNIQ" },
- { EBADFD, "EBADFD" },
- { EREMCHG, "EREMCHG" },
- { ELIBACC, "ELIBACC" },
- { ELIBBAD, "ELIBBAD" },
- { ELIBSCN, "ELIBSCN" },
- { ELIBMAX, "ELIBMAX" },
- { ELIBEXEC, "ELIBEXEC" },
- { EILSEQ, "EILSEQ" },
- { ERESTART, "ERESTART" },
- { ESTRPIPE, "ESTRPIPE" },
- { EUSERS, "EUSERS" },
- { ENOTSOCK, "ENOTSOCK" },
- { EDESTADDRREQ, "EDESTADDRREQ" },
- { EMSGSIZE, "EMSGSIZE" },
- { EPROTOTYPE, "EPROTOTYPE" },
- { ENOPROTOOPT, "ENOPROTOOPT" },
- { EPROTONOSUPPORT, "EPROTONOSUPPORT" },
- { ESOCKTNOSUPPORT, "ESOCKTNOSUPPORT" },
- { EOPNOTSUPP, "EOPNOTSUPP" },
- { EPFNOSUPPORT, "EPFNOSUPPORT" },
- { EAFNOSUPPORT, "EAFNOSUPPORT" },
- { EADDRINUSE, "EADDRINUSE" },
- { EADDRNOTAVAIL, "EADDRNOTAVAIL" },
- { ENETDOWN, "ENETDOWN" },
- { ENETUNREACH, "ENETUNREACH" },
- { ENETRESET, "ENETRESET" },
- { ECONNABORTED, "ECONNABORTED" },
- { ECONNRESET, "ECONNRESET" },
- { ENOBUFS, "ENOBUFS" },
- { EISCONN, "EISCONN" },
- { ENOTCONN, "ENOTCONN" },
- { ESHUTDOWN, "ESHUTDOWN" },
- { ETOOMANYREFS, "ETOOMANYREFS" },
- { ETIMEDOUT, "ETIMEDOUT" },
- { ECONNREFUSED, "ECONNREFUSED" },
- { EHOSTDOWN, "EHOSTDOWN" },
- { EHOSTUNREACH, "EHOSTUNREACH" },
- { EALREADY, "EALREADY" },
- { EINPROGRESS, "EINPROGRESS" },
- { ESTALE, "ESTALE" },
- { EUCLEAN, "EUCLEAN" },
- { ENOTNAM, "ENOTNAM" },
- { ENAVAIL, "ENAVAIL" },
- { EISNAM, "EISNAM" },
- { EREMOTEIO, "EREMOTEIO" },
- { EDQUOT, "EDQUOT" },
- { ENOMEDIUM, "ENOMEDIUM" },
- { EMEDIUMTYPE, "EMEDIUMTYPE" }
-};
-
-#endif /* CONFIG_LIBC_STRERROR_SHORT */
-
-#define NERRNO_STRS (sizeof(g_errnomap) / sizeof(struct errno_strmap_s))
-
-#endif /* CONFIG_LIBC_STRERROR */
-
-/************************************************************************
- * Private Functions
- ************************************************************************/
-
-/************************************************************************
- * Public Functions
- ************************************************************************/
-
-/************************************************************************
- * Name: strerror
- ************************************************************************/
-
-FAR const char *strerror(int errnum)
-{
-#ifdef CONFIG_LIBC_STRERROR
- int ndxlow = 0;
- int ndxhi = NERRNO_STRS - 1;
- int ndxmid;
-
- do
- {
- ndxmid = (ndxlow + ndxhi) >> 1;
- if (errnum > g_errnomap[ndxmid].errnum)
- {
- ndxlow = ndxmid + 1;
- }
- else if (errnum < g_errnomap[ndxmid].errnum)
- {
- ndxhi = ndxmid - 1;
- }
- else
- {
- return g_errnomap[ndxmid].str;
- }
- }
- while (ndxlow <= ndxhi);
-#endif
- return "Unknown error";
-}
diff --git a/nuttx/lib/string/lib_strlen.c b/nuttx/lib/string/lib_strlen.c
deleted file mode 100644
index 833305809..000000000
--- a/nuttx/lib/string/lib_strlen.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strlen.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-#ifndef CONFIG_ARCH_STRLEN
-size_t strlen(const char *s)
-{
- const char *sc;
- for (sc = s; *sc != '\0'; ++sc);
- return sc - s;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strncasecmp.c b/nuttx/lib/string/lib_strncasecmp.c
deleted file mode 100644
index be369cf0d..000000000
--- a/nuttx/lib/string/lib_strncasecmp.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strncasecmp.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- *****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- *****************************************************************************/
-
-/****************************************************************************
- * Included Files
- *****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <string.h>
-#include <ctype.h>
-
-/****************************************************************************
- * Global Functions
- *****************************************************************************/
-
-#ifndef CONFIG_ARCH_STRNCASECMP
-int strncasecmp(const char *cs, const char *ct, size_t nb)
-{
- int result = 0;
- for (; nb > 0; nb--)
- {
- if ((result = (int)toupper(*cs) - (int)toupper(*ct)) != 0 || !*cs)
- {
- break;
- }
-
- cs++;
- ct++;
- }
- return result;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strncat.c b/nuttx/lib/string/lib_strncat.c
deleted file mode 100644
index af893e0f9..000000000
--- a/nuttx/lib/string/lib_strncat.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/************************************************************
- * lib/string/lib_strncat.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/************************************************************
- * Global Functions
- ************************************************************/
-
-#ifndef CONFIG_ARCH_STRNCAT
-char *strncat(char *dest, const char *src, size_t n)
-{
- char *ret = dest;
-
- dest += strlen(dest);
- for (; n > 0 && *src != '\0' ; n--)
- {
- *dest++ = *src++;
- }
- *dest = '\0';
-
- return ret;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strncmp.c b/nuttx/lib/string/lib_strncmp.c
deleted file mode 100644
index ce2282024..000000000
--- a/nuttx/lib/string/lib_strncmp.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
- * lib/lib_strncmp.c
- *
- * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- *****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- *****************************************************************************/
-
-/****************************************************************************
- * Included Files
- *****************************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- *****************************************************************************/
-
-#ifndef CONFIG_ARCH_STRNCMP
-int strncmp(const char *cs, const char *ct, size_t nb)
-{
- int result = 0;
- for (; nb > 0; nb--)
- {
- if ((result = (int)*cs - (int)*ct++) != 0 || !*cs++)
- {
- break;
- }
- }
- return result;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strncpy.c b/nuttx/lib/string/lib_strncpy.c
deleted file mode 100644
index 149369d50..000000000
--- a/nuttx/lib/string/lib_strncpy.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/************************************************************
- * lib/string/lib_strncpy.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************/
-
-/************************************************************
- * Included Files
- ************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/************************************************************
- * Global Functions
- ************************************************************/
-
-#ifndef CONFIG_ARCH_STRNCPY
-char *strncpy(char *dest, const char *src, size_t n)
-{
- char *ret = dest; /* Value to be returned */
- char *end = dest + n; /* End of dest buffer + 1 byte */
-
- while ((*dest++ = *src++) != '\0' && dest != end);
- return ret;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strndup.c b/nuttx/lib/string/lib_strndup.c
deleted file mode 100644
index ffaf892ea..000000000
--- a/nuttx/lib/string/lib_strndup.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/************************************************************************
- * lib/string//lib_strndup.c
- *
- * Copyright (C) 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-#include "lib_internal.h"
-
-/************************************************************************
- * Global Functions
- ************************************************************************/
-/************************************************************************
- * Name: strndup
- *
- * Description:
- * The strndup() function is equivalent to the strdup() function,
- * duplicating the provided 's' in a new block of memory allocated as
- * if by using malloc(), with the exception being that strndup() copies
- * at most 'size' plus one bytes into the newly allocated memory,
- * terminating the new string with a NUL character. If the length of 's'
- * is larger than 'size', only 'size' bytes will be duplicated. If
- * 'size' is larger than the length of 's', all bytes in s will be
- * copied into the new memory buffer, including the terminating NUL
- * character. The newly created string will always be properly
- * terminated.
- *
- ************************************************************************/
-
-FAR char *strndup(FAR const char *s, size_t size)
-{
- FAR char *news = NULL;
- if (s)
- {
- /* Get the size of the new string = MIN(strlen(s), size) */
-
- size_t allocsize = strlen(s);
- if (allocsize > size)
- {
- allocsize = size;
- }
-
- /* Allocate the new string, adding 1 for the NUL terminator */
-
- news = (FAR char*)lib_malloc(allocsize + 1);
- if (news)
- {
- /* Copy the string into the allocated memory and add a NUL
- * terminator in any case.
- */
-
- memcpy(news, s, allocsize);
- news[allocsize] = '\0';
- }
- }
- return news;
-}
diff --git a/nuttx/lib/string/lib_strnlen.c b/nuttx/lib/string/lib_strnlen.c
deleted file mode 100644
index 2b64fe984..000000000
--- a/nuttx/lib/string/lib_strnlen.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strnlen.c
- *
- * This file is part of NuttX, contributed by Michael Hrabanek
- *
- * Copyright (C) 2010 Gregory Nutt. All rights reserved.
- * Author: Michael Hrabanek
- *
- * Derives from the file lib/lib_strlen.c:
- *
- * Copyright (C) 2007, 2008, 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-#ifndef CONFIG_ARCH_STRNLEN
-size_t strnlen(const char *s, size_t maxlen)
-{
- const char *sc;
- for (sc = s; maxlen != 0 && *sc != '\0'; maxlen--, ++sc);
- return sc - s;
-}
-#endif
diff --git a/nuttx/lib/string/lib_strpbrk.c b/nuttx/lib/string/lib_strpbrk.c
deleted file mode 100644
index 02e2ea2c7..000000000
--- a/nuttx/lib/string/lib_strpbrk.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strpbrk.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use str source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions str binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer str
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-char *strpbrk(const char *str, const char *charset)
-{
- /* Sanity checking */
-
-#ifdef CONFIG_DEBUG
- if (!str || !charset)
- {
- return NULL;
- }
-#endif
-
- /* Check each character in the string */
-
- while (*str)
- {
- /* Check if the character from the string matches any character in the charset */
-
- if (strchr(charset, *str) != NULL)
- {
- /* Yes, then this position must be the first occurrence in string */
-
- return (char*)str;
- }
-
- /* This character from the strings matches none of those in the charset.
- * Try the next character from the string.
- */
-
- str++;
- }
-
- /* We have looked at every character in the string, and none of them match any of
- * the characters in charset.
- */
-
- return NULL;
-}
-
diff --git a/nuttx/lib/string/lib_strrchr.c b/nuttx/lib/string/lib_strrchr.c
deleted file mode 100644
index 91243ce58..000000000
--- a/nuttx/lib/string/lib_strrchr.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/************************************************************************
- * lib/string/lib_strrchr.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ************************************************************************/
-
-/************************************************************************
- * Included Files
- ************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-/************************************************************************
- * Global Functions
- ************************************************************************/
-
-/* The strrchr() function returns a pointer to the last
- * occurrence of the character c in the string s.
- */
-
-char *strrchr(const char *s, int c)
-{
- if (s)
- {
- const char *p = &s[strlen(s) - 1];
- for (; p >= s; p--)
- {
- if (*p == c)
- {
- return (char*)p;
- }
- }
- }
-
- return NULL;
-}
-
diff --git a/nuttx/lib/string/lib_strspn.c b/nuttx/lib/string/lib_strspn.c
deleted file mode 100644
index e7b5ea0a5..000000000
--- a/nuttx/lib/string/lib_strspn.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strspn.c
- *
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Compilation Switches
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: strspn
- *
- * Description:
- * strspn() calculates the length of the initial segment of s which
- * consists entirely of characters in accept.
- *
- ****************************************************************************/
-
-size_t strspn(const char *s, const char *accept)
-{
- size_t i;
- for (i = 0; s[i] && strchr(accept, s[i]) != NULL; i++);
- return i;
-}
diff --git a/nuttx/lib/string/lib_strstr.c b/nuttx/lib/string/lib_strstr.c
deleted file mode 100644
index b8c896fa2..000000000
--- a/nuttx/lib/string/lib_strstr.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strstr.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use str source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions str binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer str
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <string.h>
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-char *strstr(const char *str, const char *substr)
-{
- const char *candidate; /* Candidate in str with matching start character */
- char ch; /* First character of the substring */
- int len; /* The length of the substring */
-
- /* Special case the empty substring */
-
- len = strlen(substr);
- ch = *substr;
-
- if (!ch)
- {
- /* We'll say that an empty substring matches at the beginning of
- * the string
- */
-
- return (char*)str;
- }
-
- /* Search for the substring */
-
- candidate = str;
- for (;;)
- {
- /* strchr() will return a pointer to the next occurrence of the
- * character ch in the string
- */
-
- candidate = strchr(candidate, ch);
- if (!candidate || strlen(candidate) < len)
- {
- /* First character of the substring does not appear in the string
- * or the remainder of the string is not long enough to contain the
- * substring.
- */
-
- return NULL;
- }
-
- /* Check if this is the beginning of a matching substring */
-
- if (strncmp(candidate, substr, len) == 0)
- {
- return (char*)candidate;
- }
-
- /* No, find the next candidate after this one */
-
- candidate++;
- }
-
- /* Won't get here, but some compilers might complain */
-
- return NULL;
-}
-
diff --git a/nuttx/lib/string/lib_strtod.c b/nuttx/lib/string/lib_strtod.c
deleted file mode 100644
index 8fecd4571..000000000
--- a/nuttx/lib/string/lib_strtod.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strtod.c
- * Convert string to double
- *
- * Copyright (C) 2002 Michael Ringgaard. All rights reserved.
- * Copyright (C) 2006-2007 H. Peter Anvin.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <stdlib.h>
-#include <ctype.h>
-#include <errno.h>
-
-#ifdef CONFIG_HAVE_DOUBLE
-
-/****************************************************************************
- * Pre-processor definitions
- ****************************************************************************/
-
-/* These are predefined with GCC, but could be issues for other compilers. If
- * not defined, an arbitrary big number is put in for now. These should be
- * added to nuttx/compiler for your compiler.
- */
-
-#if !defined(__DBL_MIN_EXP__) || !defined(__DBL_MAX_EXP__)
-# ifdef CONFIG_CPP_HAVE_WARNING
-# warning "Size of exponent is unknown"
-# endif
-# undef __DBL_MIN_EXP__
-# define __DBL_MIN_EXP__ (-1021)
-# undef __DBL_MAX_EXP__
-# define __DBL_MAX_EXP__ (1024)
-#endif
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-static inline int is_real(double x)
-{
- const double_t infinite = 1.0/0.0;
- return (x < infinite) && (x >= -infinite);
-}
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/***************************************************(************************
- * Name: strtod
- *
- * Description:
- * Convert a string to a double value
- *
- ****************************************************************************/
-
-double_t strtod(const char *str, char **endptr)
-{
- double_t number;
- int exponent;
- int negative;
- char *p = (char *) str;
- double p10;
- int n;
- int num_digits;
- int num_decimals;
- const double_t infinite = 1.0/0.0;
-
- /* Skip leading whitespace */
-
- while (isspace(*p))
- {
- p++;
- }
-
- /* Handle optional sign */
-
- negative = 0;
- switch (*p)
- {
- case '-':
- negative = 1; /* Fall through to increment position */
- case '+':
- p++;
- }
-
- number = 0.;
- exponent = 0;
- num_digits = 0;
- num_decimals = 0;
-
- /* Process string of digits */
-
- while (isdigit(*p))
- {
- number = number * 10. + (*p - '0');
- p++;
- num_digits++;
- }
-
- /* Process decimal part */
-
- if (*p == '.')
- {
- p++;
-
- while (isdigit(*p))
- {
- number = number * 10. + (*p - '0');
- p++;
- num_digits++;
- num_decimals++;
- }
-
- exponent -= num_decimals;
- }
-
- if (num_digits == 0)
- {
- set_errno(ERANGE);
- return 0.0;
- }
-
- /* Correct for sign */
-
- if (negative)
- {
- number = -number;
- }
-
- /* Process an exponent string */
-
- if (*p == 'e' || *p == 'E')
- {
- /* Handle optional sign */
-
- negative = 0;
- switch(*++p)
- {
- case '-':
- negative = 1; /* Fall through to increment pos */
- case '+':
- p++;
- }
-
- /* Process string of digits */
-
- n = 0;
- while (isdigit(*p))
- {
- n = n * 10 + (*p - '0');
- p++;
- }
-
- if (negative)
- {
- exponent -= n;
- }
- else
- {
- exponent += n;
- }
- }
-
- if (exponent < __DBL_MIN_EXP__ ||
- exponent > __DBL_MAX_EXP__)
- {
- set_errno(ERANGE);
- return infinite;
- }
-
- /* Scale the result */
-
- p10 = 10.;
- n = exponent;
- if (n < 0) n = -n;
- while (n)
- {
- if (n & 1)
- {
- if (exponent < 0)
- {
- number /= p10;
- }
- else
- {
- number *= p10;
- }
- }
- n >>= 1;
- p10 *= p10;
- }
-
- if (!is_real(number))
- {
- set_errno(ERANGE);
- }
-
- if (endptr)
- {
- *endptr = p;
- }
-
- return number;
-}
-
-#endif /* CONFIG_HAVE_DOUBLE */
-
diff --git a/nuttx/lib/string/lib_strtok.c b/nuttx/lib/string/lib_strtok.c
deleted file mode 100644
index c40993135..000000000
--- a/nuttx/lib/string/lib_strtok.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strtok.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <string.h>
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-static char *g_saveptr = NULL;
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: strtok
- *
- * Description:
- * The strtok() function parses a string into a
- * sequence of tokens. On the first call to strtok() the
- * string to be parsed should be specified in 'str'. In
- * each subsequent call that should parse the same string,
- * 'str' should be NULL.
- *
- * The 'delim' argument specifies a set of characters that
- * delimit the tokens in the parsed string. The caller
- * may specify different strings in delim in successive
- * calls that parse the same string.
- *
- * Each call to strtok() returns a pointer to a null-
- * terminated string containing the next token. This
- * string does not include the delimiting character. If
- * no more tokens are found, strtok() returns NULL.
- *
- * A sequence of two or more contiguous delimiter
- * characters in the parsed string is considered to be a
- * single delimiter. Delimiter characters at the start or
- * end of the string are ignored. The tokens returned by
- * strtok() are always non-empty strings.
- *
- * Return
- * strtok() returns a pointer to the next token, or NULL
- * if there are no more tokens.
- *
- ****************************************************************************/
-
-char *strtok(char *str, const char *delim)
-{
- return strtok_r(str, delim, &g_saveptr);
-}
diff --git a/nuttx/lib/string/lib_strtokr.c b/nuttx/lib/string/lib_strtokr.c
deleted file mode 100644
index 1c571b6ae..000000000
--- a/nuttx/lib/string/lib_strtokr.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strtokr.c
- *
- * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <string.h>
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: strtok_r
- *
- * Description:
- * The strtok_r() function is a reentrant version strtok().
- * Like strtok(), it parses a string into a sequence of
- * tokens. On the first call to strtok() the string to be
- * parsed should be specified in 'str'. In each subsequent
- * call that should parse the same string, 'str' should be
- * NULL.
- *
- * The 'saveptr' argument is a pointer to a char *
- * variable that is used internally by strtok_r() in
- * order to maintain context between successive calls
- * that parse the same string.
- *
- * On the first call to strtok_r(), 'str' should point to the
- * string to be parsed, and the value of 'saveptr' is
- * ignored. In subsequent calls, 'str' should be NULL, and
- * saveptr should be unchanged since the previous call.
- *
- * The 'delim' argument specifies a set of characters that
- * delimit the tokens in the parsed string. The caller
- * may specify different strings in delim in successive
- * calls that parse the same string.
- *
- * Each call to strtok_r() returns a pointer to a null-
- * terminated string containing the next token. This
- * string does not include the delimiting character. If
- * no more tokens are found, strtok_r() returns NULL.
- *
- * A sequence of two or more contiguous delimiter
- * characters in the parsed string is considered to be a
- * single delimiter. Delimiter characters at the start or
- * end of the string are ignored. The tokens returned by
- * strtok() are always non-empty strings.
- *
- * Return
- * strtok_r() returns a pointer to the next token, or NULL
- * if there are no more tokens.
- *
- ****************************************************************************/
-
-FAR char *strtok_r(FAR char *str, FAR const char *delim, FAR char **saveptr)
-{
- char *pbegin;
- char *pend = NULL;
-
- /* Decide if we are starting a new string or continuing from
- * the point we left off.
- */
-
- if (str)
- {
- pbegin = str;
- }
- else if (saveptr && *saveptr)
- {
- pbegin = *saveptr;
- }
- else
- {
- return NULL;
- }
-
- /* Find the beginning of the next token */
-
- for (;
- *pbegin && strchr(delim, *pbegin) != NULL;
- pbegin++);
-
- /* If we are at the end of the string with nothing
- * but delimiters found, then return NULL.
- */
-
- if (!*pbegin)
- {
- return NULL;
- }
-
- /* Find the end of the token */
-
- for (pend = pbegin + 1;
- *pend && strchr(delim, *pend) == NULL;
- pend++);
-
-
- /* pend either points to the end of the string or to
- * the first delimiter after the string.
- */
-
- if (*pend)
- {
- /* Turn the delimiter into a null terminator */
-
- *pend++ = '\0';
- }
-
- /* Save the pointer where we left off and return the
- * beginning of the token.
- */
-
- if (saveptr)
- {
- *saveptr = pend;
- }
- return pbegin;
-}
diff --git a/nuttx/lib/string/lib_strtol.c b/nuttx/lib/string/lib_strtol.c
deleted file mode 100644
index c17d87e63..000000000
--- a/nuttx/lib/string/lib_strtol.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strtol.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <stdlib.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: strtol
- *
- * Description:
- * The strtol() function converts the initial part of the string in
- * nptr to a long integer value according to the given base, which must be
- * between 2 and 36 inclusive, or be the special value 0.
- *
- * Warning: does not check for integer overflow!
- *
- ****************************************************************************/
-
-long strtol(const char *nptr, char **endptr, int base)
-{
- unsigned long accum = 0;
- bool negate = false;
-
- if (nptr)
- {
- /* Skip leading spaces */
-
- lib_skipspace(&nptr);
-
- /* Check for leading + or - */
-
- if (*nptr == '-')
- {
- negate = true;
- nptr++;
- }
- else if (*nptr == '+')
- {
- nptr++;
- }
-
- /* Get the unsigned value */
-
- accum = strtoul(nptr, endptr, base);
-
- /* Correct the sign of the result */
-
- if (negate)
- {
- return -(long)accum;
- }
- }
- return (long)accum;
-}
-
diff --git a/nuttx/lib/string/lib_strtoll.c b/nuttx/lib/string/lib_strtoll.c
deleted file mode 100644
index 242e025c0..000000000
--- a/nuttx/lib/string/lib_strtoll.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
- * lib/string/lib_strtoll.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <stdlib.h>
-
-#include "lib_internal.h"
-
-#ifdef CONFIG_HAVE_LONG_LONG
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: strtoll
- *
- * Description:
- * The strtol() function converts the initial part of the string in
- * nptr to a long long integer value according to the given base, which
- * must be between 2 and 36 inclusive, or be the special value 0.
- *
- * Warning: does not check for integer overflow!
- *
- ****************************************************************************/
-
-long long strtoll(const char *nptr, char **endptr, int base)
-{
- unsigned long long accum = 0;
- bool negate = false;
-
- if (nptr)
- {
- /* Skip leading spaces */
-
- lib_skipspace(&nptr);
-
- /* Check for leading + or - */
-
- if (*nptr == '-')
- {
- negate = true;
- nptr++;
- }
- else if (*nptr == '+')
- {
- nptr++;
- }
-
- /* Get the unsigned value */
-
- accum = strtoull(nptr, endptr, base);
-
- /* Correct the sign of the result */
-
- if (negate)
- {
- return -(long long)accum;
- }
- }
- return (long long)accum;
-}
-
-#endif
-
diff --git a/nuttx/lib/string/lib_strtoul.c b/nuttx/lib/string/lib_strtoul.c
deleted file mode 100644
index b0d2d090e..000000000
--- a/nuttx/lib/string/lib_strtoul.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
- * /lib/string/lib_strtoul.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdlib.h>
-
-#include "lib_internal.h"
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: strtoul
- *
- * Description:
- * The strtol() function converts the initial part of the string in
- * nptr to a long unsigned integer value according to the given base, which
- * must be between 2 and 36 inclusive, or be the special value 0.
- *
- * Warning: does not check for integer overflow!
- *
- ****************************************************************************/
-
-unsigned long strtoul(const char *nptr, char **endptr, int base)
-{
- unsigned long accum = 0;
- int value;
-
- if (nptr)
- {
- /* Skip leading spaces */
-
- lib_skipspace(&nptr);
-
- /* Check for unspecified base */
-
- base = lib_checkbase(base, &nptr);
-
- /* Accumulate each "digit" */
-
- while (lib_isbasedigit(*nptr, base, &value))
- {
- accum = accum*base + value;
- nptr++;
- }
-
- /* Return the final pointer to the unused value */
-
- if (endptr)
- {
- *endptr = (char *)nptr;
- }
- }
- return accum;
-}
-
diff --git a/nuttx/lib/string/lib_strtoull.c b/nuttx/lib/string/lib_strtoull.c
deleted file mode 100644
index 6567457c0..000000000
--- a/nuttx/lib/string/lib_strtoull.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
- * /lib/string/lib_strtoull.c
- *
- * Copyright (C) 2009, 2010 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <stdlib.h>
-
-#include "lib_internal.h"
-
-#ifdef CONFIG_HAVE_LONG_LONG
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: strtoull
- *
- * Description:
- * The strtol() function converts the initial part of the string in
- * nptr to a long unsigned integer value according to the given base, which
- * must be between 2 and 36 inclusive, or be the special value 0.
- *
- ****************************************************************************/
-
-unsigned long long strtoull(const char *nptr, char **endptr, int base)
-{
- unsigned long long accum = 0;
- int value;
-
- if (nptr)
- {
- /* Skip leading spaces */
-
- lib_skipspace(&nptr);
-
- /* Check for unspecified base */
-
- base = lib_checkbase(base, &nptr);
-
- /* Accumulate each "digit" */
-
- while (lib_isbasedigit(*nptr, base, &value))
- {
- accum = accum*base + value;
- nptr++;
- }
-
- /* Return the final pointer to the unused value */
-
- if (endptr)
- {
- *endptr = (char *)nptr;
- }
- }
- return accum;
-}
-#endif
-
diff --git a/nuttx/lib/string/lib_vikmemcpy.c b/nuttx/lib/string/lib_vikmemcpy.c
deleted file mode 100644
index b50942aaa..000000000
--- a/nuttx/lib/string/lib_vikmemcpy.c
+++ /dev/null
@@ -1,348 +0,0 @@
-/****************************************************************************
- * File: lib/string/lib_vikmemcpy.c
- *
- * This is version of the optimized memcpy by Daniel Vik, adapted to the
- * NuttX environment.
- *
- * Copyright (C) 1999-2010 Daniel Vik
- *
- * Adaptations include:
- * - File name change
- * - Use of types defined in stdint.h
- * - Integration with the NuttX configuration system
- * - Other cosmetic changes for consistency with NuttX coding standards
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the authors be held liable for any
- * damages arising from the use of this software.
- * Permission is granted to anyone to use this software for any
- * purpose, including commercial applications, and to alter it and
- * redistribute it freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you
- * must not claim that you wrote the original software. If you
- * use this software in a product, an acknowledgment in the
- * use this software in a product, an acknowledgment in the
- * product documentation would be appreciated but is not
- * required.
- *
- * 2. Altered source versions must be plainly marked as such, and
- * must not be misrepresented as being the original software.
- *
- * 3. This notice may not be removed or altered from any source
- * distribution.
- *
- * Description: Implementation of the standard library function memcpy.
- * This implementation of memcpy() is ANSI-C89 compatible.
- *
- * The following configuration options can be set:
- *
- * CONFIG_ENDIAN_BIG
- * Uses processor with big endian addressing. Default is little endian.
- *
- * CONFIG_MEMCPY_PRE_INC_PTRS
- * Use pre increment of pointers. Default is post increment of pointers.
- *
- * CONFIG_MEMCPY_INDEXED_COPY
- * Copying data using array indexing. Using this option, disables the
- * CONFIG_MEMCPY_PRE_INC_PTRS option.
- *
- * CONFIG_MEMCPY_64BIT - Compiles memcpy for 64 bit architectures
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Configuration definitions.
- ****************************************************************************/
-
-#define CONFIG_MEMCPY_INDEXED_COPY
-
-/********************************************************************
- * Included Files
- *******************************************************************/
-
-#include <nuttx/config.h>
-#include <nuttx/compiler.h>
-
-#include <stddef.h>
-#include <stdint.h>
-#include <string.h>
-
-/********************************************************************
- * Pre-processor Definitions
- *******************************************************************/
-
-/* Can't support CONFIG_MEMCPY_64BIT if the platform does not have 64-bit
- * integer types.
- */
-
-#ifndef CONFIG_HAVE_LONG_LONG
-# undef CONFIG_MEMCPY_64BIT
-#endif
-
-/* Remove definitions when CONFIG_MEMCPY_INDEXED_COPY is defined */
-
-#if defined (CONFIG_MEMCPY_INDEXED_COPY)
-# if defined (CONFIG_MEMCPY_PRE_INC_PTRS)
-# undef CONFIG_MEMCPY_PRE_INC_PTRS
-# endif /* CONFIG_MEMCPY_PRE_INC_PTRS */
-#endif /* CONFIG_MEMCPY_INDEXED_COPY */
-
-/* Definitions for pre and post increment of pointers */
-
-#if defined (CONFIG_MEMCPY_PRE_INC_PTRS)
-
-# define START_VAL(x) (x)--
-# define INC_VAL(x) *++(x)
-# define CAST_TO_U8(p, o) ((uint8_t*)p + o + TYPE_WIDTH)
-# define WHILE_DEST_BREAK (TYPE_WIDTH - 1)
-# define PRE_LOOP_ADJUST - (TYPE_WIDTH - 1)
-# define PRE_SWITCH_ADJUST + 1
-
-#else /* CONFIG_MEMCPY_PRE_INC_PTRS */
-
-# define START_VAL(x)
-# define INC_VAL(x) *(x)++
-# define CAST_TO_U8(p, o) ((uint8_t*)p + o)
-# define WHILE_DEST_BREAK 0
-# define PRE_LOOP_ADJUST
-# define PRE_SWITCH_ADJUST
-
-#endif /* CONFIG_MEMCPY_PRE_INC_PTRS */
-
-/* Definitions for endian-ness */
-
-#ifdef CONFIG_ENDIAN_BIG
-
-# define SHL <<
-# define SHR >>
-
-#else /* CONFIG_ENDIAN_BIG */
-
-# define SHL >>
-# define SHR <<
-
-#endif /* CONFIG_ENDIAN_BIG */
-
-/********************************************************************
- * Macros for copying words of different alignment.
- * Uses incremening pointers.
- *******************************************************************/
-
-#define CP_INCR() \
-{ \
- INC_VAL(dstN) = INC_VAL(srcN); \
-}
-
-#define CP_INCR_SH(shl, shr) \
-{ \
- dstWord = srcWord SHL shl; \
- srcWord = INC_VAL(srcN); \
- dstWord |= srcWord SHR shr; \
- INC_VAL(dstN) = dstWord; \
-}
-
-/********************************************************************
- * Macros for copying words of different alignment.
- * Uses array indexes.
- *******************************************************************/
-
-#define CP_INDEX(idx) \
-{ \
- dstN[idx] = srcN[idx]; \
-}
-
-#define CP_INDEX_SH(x, shl, shr) \
-{ \
- dstWord = srcWord SHL shl; \
- srcWord = srcN[x]; \
- dstWord |= srcWord SHR shr; \
- dstN[x] = dstWord; \
-}
-
-/********************************************************************
- * Macros for copying words of different alignment.
- * Uses incremening pointers or array indexes depending on
- * configuration.
- *******************************************************************/
-
-#if defined (CONFIG_MEMCPY_INDEXED_COPY)
-
-# define CP(idx) CP_INDEX(idx)
-# define CP_SH(idx, shl, shr) CP_INDEX_SH(idx, shl, shr)
-
-# define INC_INDEX(p, o) ((p) += (o))
-
-#else /* CONFIG_MEMCPY_INDEXED_COPY */
-
-# define CP(idx) CP_INCR()
-# define CP_SH(idx, shl, shr) CP_INCR_SH(shl, shr)
-
-# define INC_INDEX(p, o)
-
-#endif /* CONFIG_MEMCPY_INDEXED_COPY */
-
-#define COPY_REMAINING(count) \
-{ \
- START_VAL(dst8); \
- START_VAL(src8); \
- \
- switch (count) \
- { \
- case 7: INC_VAL(dst8) = INC_VAL(src8); \
- case 6: INC_VAL(dst8) = INC_VAL(src8); \
- case 5: INC_VAL(dst8) = INC_VAL(src8); \
- case 4: INC_VAL(dst8) = INC_VAL(src8); \
- case 3: INC_VAL(dst8) = INC_VAL(src8); \
- case 2: INC_VAL(dst8) = INC_VAL(src8); \
- case 1: INC_VAL(dst8) = INC_VAL(src8); \
- case 0: \
- default: break; \
- } \
-}
-
-#define COPY_NO_SHIFT() \
-{ \
- UIntN* dstN = (UIntN*)(dst8 PRE_LOOP_ADJUST); \
- UIntN* srcN = (UIntN*)(src8 PRE_LOOP_ADJUST); \
- size_t length = count / TYPE_WIDTH; \
- \
- while (length & 7) \
- { \
- CP_INCR(); \
- length--; \
- } \
- \
- length /= 8; \
- \
- while (length--) \
- { \
- CP(0); \
- CP(1); \
- CP(2); \
- CP(3); \
- CP(4); \
- CP(5); \
- CP(6); \
- CP(7); \
- \
- INC_INDEX(dstN, 8); \
- INC_INDEX(srcN, 8); \
- } \
- \
- src8 = CAST_TO_U8(srcN, 0); \
- dst8 = CAST_TO_U8(dstN, 0); \
- \
- COPY_REMAINING(count & (TYPE_WIDTH - 1)); \
- \
- return dest; \
-}
-
-#define COPY_SHIFT(shift) \
-{ \
- UIntN* dstN = (UIntN*)((((UIntN)dst8) PRE_LOOP_ADJUST) & \
- ~(TYPE_WIDTH - 1)); \
- UIntN* srcN = (UIntN*)((((UIntN)src8) PRE_LOOP_ADJUST) & \
- ~(TYPE_WIDTH - 1)); \
- size_t length = count / TYPE_WIDTH; \
- UIntN srcWord = INC_VAL(srcN); \
- UIntN dstWord; \
- \
- while (length & 7) \
- { \
- CP_INCR_SH(8 * shift, 8 * (TYPE_WIDTH - shift)); \
- length--; \
- } \
- \
- length /= 8; \
- \
- while (length--) \
- { \
- CP_SH(0, 8 * shift, 8 * (TYPE_WIDTH - shift)); \
- CP_SH(1, 8 * shift, 8 * (TYPE_WIDTH - shift)); \
- CP_SH(2, 8 * shift, 8 * (TYPE_WIDTH - shift)); \
- CP_SH(3, 8 * shift, 8 * (TYPE_WIDTH - shift)); \
- CP_SH(4, 8 * shift, 8 * (TYPE_WIDTH - shift)); \
- CP_SH(5, 8 * shift, 8 * (TYPE_WIDTH - shift)); \
- CP_SH(6, 8 * shift, 8 * (TYPE_WIDTH - shift)); \
- CP_SH(7, 8 * shift, 8 * (TYPE_WIDTH - shift)); \
- \
- INC_INDEX(dstN, 8); \
- INC_INDEX(srcN, 8); \
- } \
- \
- src8 = CAST_TO_U8(srcN, (shift - TYPE_WIDTH)); \
- dst8 = CAST_TO_U8(dstN, 0); \
- \
- COPY_REMAINING(count & (TYPE_WIDTH - 1)); \
- \
- return dest; \
-}
-
-/********************************************************************
- * Type Definitions
- *******************************************************************/
-
-#ifdef CONFIG_MEMCPY_64BIT
-typedef uint64_t UIntN;
-# define TYPE_WIDTH 8L
-#else
-typedef uint32_t UIntN;
-# define TYPE_WIDTH 4L
-#endif
-
-/********************************************************************
- * Public Functions
- *******************************************************************/
-/********************************************************************
- * Name: memcpy
- *
- * Description:
- * Copies count bytes from src to dest. No overlap check is performed.
- *
- * Input Parameters:
- * dest - pointer to destination buffer
- * src - pointer to source buffer
- * count - number of bytes to copy
- *
- * Returned Value:
- * A pointer to destination buffer
- *
- *******************************************************************/
-
-void *memcpy(void *dest, const void *src, size_t count)
-{
- uint8_t *dst8 = (uint8_t*)dest;
- uint8_t *src8 = (uint8_t*)src;
-
- if (count < 8)
- {
- COPY_REMAINING(count);
- return dest;
- }
-
- START_VAL(dst8);
- START_VAL(src8);
-
- while (((UIntN)dst8 & (TYPE_WIDTH - 1)) != WHILE_DEST_BREAK)
- {
- INC_VAL(dst8) = INC_VAL(src8);
- count--;
- }
-
- switch ((((UIntN)src8) PRE_SWITCH_ADJUST) & (TYPE_WIDTH - 1))
- {
- case 0: COPY_NO_SHIFT(); break;
- case 1: COPY_SHIFT(1); break;
- case 2: COPY_SHIFT(2); break;
- case 3: COPY_SHIFT(3); break;
-#if TYPE_WIDTH > 4
- case 4: COPY_SHIFT(4); break;
- case 5: COPY_SHIFT(5); break;
- case 6: COPY_SHIFT(6); break;
- case 7: COPY_SHIFT(7); break;
-#endif
- }
-
- return dest;
-}
diff --git a/nuttx/lib/termios/Make.defs b/nuttx/lib/termios/Make.defs
deleted file mode 100644
index a6bb77f83..000000000
--- a/nuttx/lib/termios/Make.defs
+++ /dev/null
@@ -1,54 +0,0 @@
-############################################################################
-# lib/misc/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# termios.h support requires file descriptors and that CONFIG_SERIAL_TERMIOS
-# is defined
-
-ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
-ifeq ($(CONFIG_SERIAL_TERMIOS),y)
-
-# Add the termios C files to the build
-
-CSRCS += lib_cfgetspeed.c lib_cfsetspeed.c lib_tcflush.c
-CSRCS += lib_tcgetattr.c lib_tcsetattr.c
-
-# Add the termios directory to the build
-
-DEPPATH += --dep-path termios
-VPATH += termios
-
-endif
-endif
-
diff --git a/nuttx/lib/termios/lib_cfgetspeed.c b/nuttx/lib/termios/lib_cfgetspeed.c
deleted file mode 100644
index d7f0dc473..000000000
--- a/nuttx/lib/termios/lib_cfgetspeed.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
- * lib/termios/lib_cfgetspeed.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <termios.h>
-#include <assert.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: cfgetspeed
- *
- * Descripton:
- * The cfgetspeed() function is a non-POSIX function will extract the baud
- * from the termios structure to which the termiosp argument points.
- *
- * This function will return exactly the value in the termios data
- * structure, without interpretation.
- *
- * NOTE 1: NuttX does not control input/output baud independently. Both
- * must be the same. The POSIX standard interfaces, cfisetispeed() and
- * cfisetospeed() are defined to be cfgetspeed() in termios.h.
- * NOTE 2. In Nuttx, the speed_t is defined to be uint32_t and the baud
- * encodings of termios.h are the actual baud values themselves. Therefore,
- * any baud value may be returned here... not just those enumerated in
- * termios.h
- *
- * Input Parameters:
- * termiosp - The termiosp argument is a pointer to a termios structure.
- *
- * Returned Value:
- * Encoded baud value from the termios structure.
- *
- ****************************************************************************/
-
-speed_t cfgetspeed(FAR const struct termios *termiosp)
-{
- DEBUGASSERT(termiosp);
- return termiosp->c_speed;
-}
diff --git a/nuttx/lib/termios/lib_cfsetspeed.c b/nuttx/lib/termios/lib_cfsetspeed.c
deleted file mode 100644
index 714562ff5..000000000
--- a/nuttx/lib/termios/lib_cfsetspeed.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
- * lib/termios/lib_cfsetspeed.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <sys/types.h>
-#include <termios.h>
-#include <assert.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: cfsetspeed
- *
- * Descripton:
- * The cfsetspeed() function is a non-POSIX function that sets the baud
- * stored in the structure pointed to by termiosp to speed.
- *
- * There is no effect on the baud set in the hardware until a subsequent
- * successful call to tcsetattr() on the same termios structure.
- *
- * NOTE 1: NuttX does not control input/output baud independently. Both
- * must be the same. The POSIX standard interfaces, cfisetispeed() and
- * cfisetospeed() are defined to be cfsetspeed() in termios.h.
- *
- * NOTE 3: A consequence of NOTE 1 is that you should never attempt to
- * set the input and output baud to different values.
- *
- * Also, the following POSIX requirement cannot be supported: "If the input
- * baud rate stored in the termios structure pointed to by termios_p is 0,
- * the input baud rate given to the hardware will be the same as the output
- * baud rate stored in the termios structure."
- *
- * NOTE 2. In Nuttx, the speed_t is defined to be uint32_t and the baud
- * encodings of termios.h are the actual baud values themselves. Therefore,
- * any baud value can be provided as the speed argument here. However, if
- * you do so, your code will *NOT* be portable to other environments where
- * speed_t is smaller and where the termios.h baud values are encoded! To
- * avoid portability issues, use the baud definitions in termios.h!
- *
- * Linux, for example, would require this (also non-portable) sequence:
- *
- * cfsetispeed(termiosp, BOTHER);
- * termiosp->c_ispeed = baud;
- *
- * cfsetospeed(termiosp, BOTHER);
- * termiosp->c_ospeed = baud;
- *
- * Input Parameters:
- * termiosp - The termiosp argument is a pointer to a termios structure.
- * speed - The new input speed
- *
- * Returned Value:
- * Baud is not checked... OK is always returned (this is non-standard
- * behavior).
- *
- ****************************************************************************/
-
-int cfsetspeed(FAR struct termios *termiosp, speed_t speed)
-{
- DEBUGASSERT(termiosp);
- termiosp->c_speed = speed;
- return OK;
-}
diff --git a/nuttx/lib/termios/lib_tcflush.c b/nuttx/lib/termios/lib_tcflush.c
deleted file mode 100644
index 338524bdd..000000000
--- a/nuttx/lib/termios/lib_tcflush.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
- * lib/termios/lib_tcflush.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/ioctl.h>
-
-#include <termios.h>
-#include <errno.h>
-
-#include <nuttx/serial/tioctl.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: tcflush
- *
- * Descripton:
- * Function for flushing a terminal/serial device
- *
- * Input Parameters:
- * fd - The 'fd' argument is an open file descriptor associated with a terminal.
- * cmd - The TCFLSH ioctl argument.
- *
- * Returned Value:
- * Upon successful completion, 0 is returned. Otherwise, -1 is returned and
- * errno is set to indicate the error.
- *
- ****************************************************************************/
-
-int tcflush(int fd, int cmd)
-{
- return ioctl(fd, TCFLSH, (unsigned long)cmd);
-}
diff --git a/nuttx/lib/termios/lib_tcgetattr.c b/nuttx/lib/termios/lib_tcgetattr.c
deleted file mode 100644
index 500871d9f..000000000
--- a/nuttx/lib/termios/lib_tcgetattr.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
- * lib/termios/lib_tcgetattr.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/ioctl.h>
-
-#include <termios.h>
-#include <errno.h>
-
-#include <nuttx/serial/tioctl.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: tcgetattr
- *
- * Descripton:
- * The tcgetattr() function gets the parameters associated with the
- * terminal referred to by 'fd' and stores them in the termios structure
- * referenced by 'termiosp'.
- *
- * Input Parameters:
- * fd - The 'fd' argument is an open file descriptor associated with a terminal.
- * termiosp - The termiosp argument is a pointer to a termios structure.
- *
- * Returned Value:
- * Upon successful completion, 0 is returned. Otherwise, -1 is returned and
- * errno is set to indicate the error. The following errors may be reported:
- *
- * - EBADF: The 'fd' argument is not a valid file descriptor.
- * - ENOTTY: The file associated with 'fd' is not a terminal.
- *
- ****************************************************************************/
-
-int tcgetattr(int fd, FAR struct termios *termiosp)
-{
- return ioctl(fd, TCGETS, (unsigned long)termiosp);
-}
diff --git a/nuttx/lib/termios/lib_tcsetattr.c b/nuttx/lib/termios/lib_tcsetattr.c
deleted file mode 100644
index 791b519c8..000000000
--- a/nuttx/lib/termios/lib_tcsetattr.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/****************************************************************************
- * lib/termios/lib_tcsetattr.c
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/ioctl.h>
-
-#include <termios.h>
-#include <errno.h>
-
-#include <nuttx/serial/tioctl.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: tcsetattr
- *
- * Descripton:
- * The tcsetattr() function sets the parameters associated with the
- * terminal referred to by the open file descriptor 'fd' from the termios
- * structure referenced by 'termiop' as follows:
- *
- * If 'options' is TCSANOW, the change will occur immediately.
- *
- * If 'options' is TCSADRAIN, the change will occur after all output
- * written to 'fd' is transmitted. This function should be used when changing
- * parameters that affect output.
- *
- * If 'options' is TCSAFLUSH, the change will occur after all
- * output written to 'fd' is transmitted, and all input so far received but
- * not read will be discarded before the change is made.
- *
- * The tcsetattr() function will return successfully if it was able to
- * perform any of the requested actions, even if some of the requested
- * actions could not be performed. It will set all the attributes that
- * implementation supports as requested and leave all the attributes not
- * supported by the implementation unchanged. If no part of the request
- * can be honoured, it will return -1 and set errno to EINVAL.
- *
- * The effect of tcsetattr() is undefined if the value of the termios
- * structure pointed to by 'termiop' was not derived from the result of
- * a call to tcgetattr() on 'fd'; an application should modify only fields
- * and flags defined by this specification between the call to tcgetattr()
- * and tcsetattr(), leaving all other fields and flags unmodified.
- *
- * Returned Value:
- *
- * Upon successful completion, 0 is returned. Otherwise, -1 is returned
- * and errno is set to indicate the error. The following errors may be
- * reported:
- *
- * - EBADF: The 'fd' argument is not a valid file descriptor.
- * - EINTR: A signal interrupted tcsetattr().
- * - EINVAL: The 'options' argument is not a supported value, or
- * an attempt was made to change an attribute represented in the
- * termios structure to an unsupported value.
- * - ENOTTY: The file associated with 'fd' is not a terminal.
- *
- ****************************************************************************/
-
-int tcsetattr(int fd, int options, FAR const struct termios *termiosp)
-{
- if (options == TCSANOW)
- {
- return ioctl(fd, TCSETS, (unsigned long)termiosp);
- }
- return -ENOSYS;
-}
diff --git a/nuttx/lib/time/Make.defs b/nuttx/lib/time/Make.defs
deleted file mode 100644
index ab7414229..000000000
--- a/nuttx/lib/time/Make.defs
+++ /dev/null
@@ -1,44 +0,0 @@
-############################################################################
-# lib/time/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the time C files to the build
-
-CSRCS += lib_mktime.c lib_gmtime.c lib_gmtimer.c lib_strftime.c \
- lib_calendar2utc.c lib_daysbeforemonth.c lib_isleapyear.c lib_time.c
-
-# Add the time directory to the build
-
-DEPPATH += --dep-path time
-VPATH += :time
diff --git a/nuttx/lib/time/lib_calendar2utc.c b/nuttx/lib/time/lib_calendar2utc.c
deleted file mode 100644
index e80c292fc..000000000
--- a/nuttx/lib/time/lib_calendar2utc.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/****************************************************************************
- * lib/time/lib_calendar2utc.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <time.h>
-#include <debug.h>
-
-#include <nuttx/time.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: clock_gregorian2utc, clock_julian2utc
- *
- * Description:
- * UTC conversion routines. These conversions are based
- * on algorithms from p. 604 of Seidelman, P. K. 1992.
- * Explanatory Supplement to the Astronomical Almanac.
- * University Science Books, Mill Valley.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_GREGORIAN_TIME
-static time_t clock_gregorian2utc(int year, int month, int day)
-{
- int temp;
-
- /* temp = (month - 14)/12; */
-
- temp = (month <= 2 ? -1:0);
-
- return (1461*(year + 4800 + temp))/4
- + (367*(month - 2 - 12*temp))/12
- - (3*((year + 4900 + temp)/100))/4 + day - 32075;
-}
-
-#ifdef CONFIG_JULIAN_TIME
-static time_t clock_julian2utc(int year, int month, int day)
-{
- return 367*year
- - (7*(year + 5001 + (month-9)/7))/4
- + (275*month)/9
- + day + 1729777;
-}
-#endif /* CONFIG_JULIAN_TIME */
-#endif /* CONFIG_GREGORIAN_TIME */
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: clock_calendar2utc
- *
- * Description:
- * Calendar/UTC conversion based on algorithms from p. 604
- * of Seidelman, P. K. 1992. Explanatory Supplement to
- * the Astronomical Almanac. University Science Books,
- * Mill Valley.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_GREGORIAN_TIME
-time_t clock_calendar2utc(int year, int month, int day)
-{
- int dyear;
-#ifdef CONFIG_JULIAN_TIME
- bool isgreg;
-#endif /* CONFIG_JULIAN_TIME */
-
- /* Correct year & month ranges. Shift month into range 1-12 */
-
- dyear = (month-1) / 12;
- month -= 12 * dyear;
- year += dyear;
-
- if (month < 1)
- {
- month += 12;
- year -= 1;
- }
-
-#ifdef CONFIG_JULIAN_TIME
- /* Determine which calendar to use */
-
- if (year > GREG_YEAR)
- {
- isgreg = true;
- }
- else if (year < GREG_YEAR)
- {
- isgreg = false;
- }
- else if (month > GREG_MONTH)
- {
- isgreg = true;
- }
- else if (month < GREG_MONTH)
- {
- isgreg = false;
- }
- else
- {
- isgreg = (day >= GREG_DAY);
- }
-
- /* Calculate and return date */
-
- if (isgreg)
- {
- return clock_gregorian2utc(year, month, day) - JD_OF_EPOCH;
- }
- else
- {
- return clock_julian2utc (year, month, day) - JD_OF_EPOCH;
- }
-
-#else /* CONFIG_JULIAN_TIME */
-
- return clock_gregorian2utc(year, month, day) - JD_OF_EPOCH;
-
-#endif /* CONFIG_JULIAN_TIME */
-}
-#else
-
-/* A highly simplified version that only handles days in the time
- * since Jan 1, 1970.
- */
-
-time_t clock_calendar2utc(int year, int month, int day)
-{
- struct tm t;
-
- /* mktime can (kind of) do this */
-
- t.tm_year = year;
- t.tm_mon = month;
- t.tm_mday = day;
- t.tm_hour = 0;
- t.tm_min = 0;
- t.tm_sec = 0;
- return mktime(&t);
-}
-#endif /* CONFIG_GREGORIAN_TIME */
-
diff --git a/nuttx/lib/time/lib_daysbeforemonth.c b/nuttx/lib/time/lib_daysbeforemonth.c
deleted file mode 100644
index 8000b0e7a..000000000
--- a/nuttx/lib/time/lib_daysbeforemonth.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
- * lib/time/lib_daysbeforemonth.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include <nuttx/time.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-uint16_t g_daysbeforemonth[13] =
-{
- 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365
-};
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: clock_daysbeforemonth
- *
- * Description:
- * Get the number of days that occurred before the beginning of the month.
- *
- ****************************************************************************/
-
-int clock_daysbeforemonth(int month, bool leapyear)
-{
- int retval = g_daysbeforemonth[month];
- if (month >= 2 && leapyear)
- {
- retval++;
- }
- return retval;
-}
-
-
diff --git a/nuttx/lib/time/lib_gmtime.c b/nuttx/lib/time/lib_gmtime.c
deleted file mode 100644
index 99afeded9..000000000
--- a/nuttx/lib/time/lib_gmtime.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
- * lib/time/lib_gmtime.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <time.h>
-#include <errno.h>
-#include <debug.h>
-
-#include <nuttx/time.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/**************************************************************************
- * Public Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/**************************************************************************
- * Private Variables
- **************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: gmtime
- *
- * Description:
- * Similar to gmtime_r, but not thread-safe
- *
- ****************************************************************************/
-
-struct tm *gmtime(const time_t *timer)
-{
- static struct tm tm;
- return gmtime_r(timer, &tm);
-}
-
diff --git a/nuttx/lib/time/lib_gmtimer.c b/nuttx/lib/time/lib_gmtimer.c
deleted file mode 100644
index ba1c9724f..000000000
--- a/nuttx/lib/time/lib_gmtimer.c
+++ /dev/null
@@ -1,355 +0,0 @@
-/****************************************************************************
- * lib/time/lib_gmtimer.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <time.h>
-#include <errno.h>
-#include <debug.h>
-
-#include <nuttx/time.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-#define SEC_PER_MIN ((time_t)60)
-#define SEC_PER_HOUR ((time_t)60 * SEC_PER_MIN)
-#define SEC_PER_DAY ((time_t)24 * SEC_PER_HOUR)
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/* Calendar/UTC conversion routines */
-
-static void clock_utc2calendar(time_t utc, int *year, int *month, int *day);
-#ifdef CONFIG_GREGORIAN_TIME
-static void clock_utc2gregorian (time_t jdn, int *year, int *month, int *day);
-
-#ifdef CONFIG_JULIAN_TIME
-static void clock_utc2julian(time_t jdn, int *year, int *month, int *day);
-#endif /* CONFIG_JULIAN_TIME */
-#endif /* CONFIG_GREGORIAN_TIME */
-
-/**************************************************************************
- * Public Constant Data
- **************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/**************************************************************************
- * Private Variables
- **************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: clock_calendar2utc, clock_gregorian2utc,
- * and clock_julian2utc
- *
- * Description:
- * Calendar to UTC conversion routines. These conversions
- * are based on algorithms from p. 604 of Seidelman, P. K.
- * 1992. Explanatory Supplement to the Astronomical
- * Almanac. University Science Books, Mill Valley.
- *
- ****************************************************************************/
-
-#ifdef CONFIG_GREGORIAN_TIME
-static void clock_utc2calendar(time_t utc, int *year, int *month, int *day)
-{
-#ifdef CONFIG_JULIAN_TIME
-
- if (utc >= GREG_DUTC)
- {
- clock_utc2gregorian(utc + JD_OF_EPOCH, year, month, day);
- }
- else
- {
- clock_utc2julian (utc + JD_OF_EPOCH, year, month, day);
- }
-
-#else /* CONFIG_JULIAN_TIME */
-
- clock_utc2gregorian(utc + JD_OF_EPOCH, year, month, day);
-
-#endif /* CONFIG_JULIAN_TIME */
-}
-
-static void clock_utc2gregorian(time_t jd, int *year, int *month, int *day)
-{
- long l, n, i, j, d, m, y;
-
- l = jd + 68569;
- n = (4*l) / 146097;
- l = l - (146097*n + 3)/4;
- i = (4000*(l+1))/1461001;
- l = l - (1461*i)/4 + 31;
- j = (80*l)/2447;
- d = l - (2447*j)/80;
- l = j/11;
- m = j + 2 - 12*l;
- y = 100*(n-49) + i + l;
-
- *year = y;
- *month = m;
- *day = d;
-}
-
-#ifdef CONFIG_JULIAN_TIME
-
-static void clock_utc2julian(time_t jd, int *year, int *month, int *day)
-{
- long j, k, l, n, d, i, m, y;
-
- j = jd + 1402;
- k = (j-1)/1461;
- l = j - 1461*k;
- n = (l-1)/365 - l/1461;
- i = l - 365*n + 30;
- j = (80*i)/2447;
- d = i - (2447*j)/80;
- i = j/11;
- m = j + 2 - 12*i;
- y = 4*k + n + i - 4716;
-
- *year = y;
- *month = m;
- *day = d;
-}
-
-#endif /* CONFIG_JULIAN_TIME */
-#else/* CONFIG_GREGORIAN_TIME */
-
-/* Only handles dates since Jan 1, 1970 */
-
-static void clock_utc2calendar(time_t days, int *year, int *month, int *day)
-{
- int value;
- int min;
- int max;
- int tmp;
- bool leapyear;
-
- /* There is one leap year every four years, so we can get close with the
- * following:
- */
-
- value = days / (4*365 + 1); /* Number of 4-years periods since the epoch*/
- days -= value * (4*365 + 1); /* Remaining days */
- value <<= 2; /* Years since the epoch */
-
- /* Then we will brute force the next 0-3 years */
-
- for (;;)
- {
- /* Is this year a leap year (we'll need this later too) */
-
- leapyear = clock_isleapyear(value + 1970);
-
- /* Get the number of days in the year */
-
- tmp = (leapyear ? 366 : 365);
-
- /* Do we have that many days? */
-
- if (days >= tmp)
- {
- /* Yes.. bump up the year */
-
- value++;
- days -= tmp;
- }
- else
- {
- /* Nope... then go handle months */
-
- break;
- }
- }
-
- /* At this point, value has the year and days has number days into this year */
-
- *year = 1970 + value;
-
- /* Handle the month (zero based) */
-
- min = 0;
- max = 11;
-
- do
- {
- /* Get the midpoint */
-
- value = (min + max) >> 1;
-
- /* Get the number of days that occurred before the beginning of the month
- * following the midpoint.
- */
-
- tmp = clock_daysbeforemonth(value + 1, leapyear);
-
- /* Does the number of days before this month that equal or exceed the
- * number of days we have remaining?
- */
-
- if (tmp > days)
- {
- /* Yes.. then the month we want is somewhere from 'min' and to the
- * midpoint, 'value'. Could it be the midpoint?
- */
-
- tmp = clock_daysbeforemonth(value, leapyear);
- if (tmp > days)
- {
- /* No... The one we want is somewhere between min and value-1 */
-
- max = value - 1;
- }
- else
- {
- /* Yes.. 'value' contains the month that we want */
-
- break;
- }
- }
- else
- {
- /* No... The one we want is somwhere between value+1 and max */
-
- min = value + 1;
- }
-
- /* If we break out of the loop because min == max, then we want value
- * to be equal to min == max.
- */
-
- value = min;
- }
- while (min < max);
-
- /* The selected month number is in value. Subtract the number of days in the
- * selected month
- */
-
- days -= clock_daysbeforemonth(value, leapyear);
-
- /* At this point, value has the month into this year (zero based) and days has
- * number of days into this month (zero based)
- */
-
- *month = value + 1; /* 1-based */
- *day = days + 1; /* 1-based */
-}
-
-#endif /* CONFIG_GREGORIAN_TIME */
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: gmtime_r
- *
- * Description:
- * Time conversion (based on the POSIX API)
- *
- ****************************************************************************/
-
-FAR struct tm *gmtime_r(FAR const time_t *timer, FAR struct tm *result)
-{
- time_t epoch;
- time_t jdn;
- int year;
- int month;
- int day;
- int hour;
- int min;
- int sec;
-
- /* Get the seconds since the EPOCH */
-
- epoch = *timer;
- sdbg("timer=%d\n", (int)epoch);
-
- /* Convert to days, hours, minutes, and seconds since the EPOCH */
-
- jdn = epoch / SEC_PER_DAY;
- epoch -= SEC_PER_DAY * jdn;
-
- hour = epoch / SEC_PER_HOUR;
- epoch -= SEC_PER_HOUR * hour;
-
- min = epoch / SEC_PER_MIN;
- epoch -= SEC_PER_MIN * min;
-
- sec = epoch;
-
- sdbg("hour=%d min=%d sec=%d\n",
- (int)hour, (int)min, (int)sec);
-
- /* Convert the days since the EPOCH to calendar day */
-
- clock_utc2calendar(jdn, &year, &month, &day);
-
- sdbg("jdn=%d year=%d month=%d day=%d\n",
- (int)jdn, (int)year, (int)month, (int)day);
-
- /* Then return the struct tm contents */
-
- result->tm_year = (int)year - 1900; /* Relative to 1900 */
- result->tm_mon = (int)month - 1; /* zero-based */
- result->tm_mday = (int)day; /* one-based */
- result->tm_hour = (int)hour;
- result->tm_min = (int)min;
- result->tm_sec = (int)sec;
-
- return result;
-}
-
diff --git a/nuttx/lib/time/lib_isleapyear.c b/nuttx/lib/time/lib_isleapyear.c
deleted file mode 100644
index 966c248e0..000000000
--- a/nuttx/lib/time/lib_isleapyear.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
- * lib/time/lib_isleapyear.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <nuttx/time.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: clock_isleapyear
- *
- * Description:
- * Return true if the specified year is a leap year
- *
- ****************************************************************************/
-
-int clock_isleapyear(int year)
-{
- return year % 400 ? (year % 100 ? (year % 4 ? 0 : 1) : 0) : 1;
-}
-
diff --git a/nuttx/lib/time/lib_mktime.c b/nuttx/lib/time/lib_mktime.c
deleted file mode 100644
index 8c17e7c0a..000000000
--- a/nuttx/lib/time/lib_mktime.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/****************************************************************************
- * lib/time/lib_mktime.c
- *
- * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <time.h>
-#include <debug.h>
-
-#include <nuttx/time.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: mktime
- *
- * Description:
- * Time conversion (based on the POSIX API)
- *
- ****************************************************************************/
-
-#ifdef CONFIG_GREGORIAN_TIME
-time_t mktime(const struct tm *tp)
-{
- time_t ret;
- time_t jdn;
-
- /* Get the EPOCH-relative julian date from the calendar year,
- * month, and date
- */
-
- jdn = clock_calendar2utc(tp->tm_year+1900, tp->tm_mon+1, tp->tm_mday);
- sdbg("jdn=%d tm_year=%d tm_mon=%d tm_mday=%d\n",
- (int)jdn, tp->tm_year, tp->tm_mon, tp->tm_mday);
-
- /* Return the seconds into the julian day. */
-
- ret = ((jdn*24 + tp->tm_hour)*60 + tp->tm_min)*60 + tp->tm_sec;
- sdbg("ret=%d tm_hour=%d tm_min=%d tm_sec=%d\n",
- (int)ret, tp->tm_hour, tp->tm_min, tp->tm_sec);
-
- return ret;
-}
-#else
-
-/* Simple version that only works for dates within a (relatively) small range
- * from the epoch. It does not handle earlier days or longer days where leap
- * seconds, etc. apply.
- */
-
-time_t mktime(const struct tm *tp)
-{
- unsigned int days;
-
- /* Years since epoch in units of days (ignoring leap years). */
-
- days = (tp->tm_year - 70) * 365;
-
- /* Add in the extra days for the leap years prior to the current year. */
-
- days += (tp->tm_year - 69) >> 2;
-
- /* Add in the days up to the beginning of this month. */
-
- days += (time_t)clock_daysbeforemonth(tp->tm_mon, clock_isleapyear(tp->tm_year + 1900));
-
- /* Add in the days since the beginning of this month (days are 1-based). */
-
- days += tp->tm_mday - 1;
-
- /* Then convert the seconds and add in hours, minutes, and seconds */
-
- return ((days * 24 + tp->tm_hour) * 60 + tp->tm_min) * 60 + tp->tm_sec;
-}
-#endif /* CONFIG_GREGORIAN_TIME */
-
diff --git a/nuttx/lib/time/lib_strftime.c b/nuttx/lib/time/lib_strftime.c
deleted file mode 100644
index cd0804f55..000000000
--- a/nuttx/lib/time/lib_strftime.c
+++ /dev/null
@@ -1,398 +0,0 @@
-/****************************************************************************
- * lib/time/lib_strftime.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-#include <sys/types.h>
-
-#include <stdio.h>
-#include <time.h>
-#include <debug.h>
-
-#include <nuttx/time.h>
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Public Constant Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Data
- ****************************************************************************/
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-static const char * const g_abbrevmonthname[12] =
-{
- "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-};
-
-static const char * const g_monthname[12] =
-{
- "January", "February", "March", "April", "May", "June",
- "July", "August", "September", "October", "November", "December"
-};
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: strftime
- *
- * Description:
- * The strftime() function formats the broken-down time tm according to
- * the format specification format and places the result in the character
- * array s of size max.
- *
- * Ordinary characters placed in the format string are copied to s without
- * conversion. Conversion specifications are introduced by a '%' charac-
- * ter, and terminated by a conversion specifier character, and are
- * replaced in s as follows:
- *
- * %b The abbreviated month name according to the current locale.
- * %B The full month name according to the current locale.
- * %C The century number (year/100) as a 2-digit integer. (SU)
- * %d The day of the month as a decimal number (range 01 to 31).
- * %e Like %d, the day of the month as a decimal number, but a leading
- * zero is replaced by a space.
- * %h Equivalent to %b. (SU)
- * %H The hour as a decimal number using a 24-hour clock (range 00 to 23).
- * %I The hour as a decimal number using a 12-hour clock (range 01 to 12).
- * %j The day of the year as a decimal number (range 001 to 366).
- * %k The hour (24-hour clock) as a decimal number (range 0 to 23);
- * single digits are preceded by a blank. (See also %H.) (TZ)
- * %l The hour (12-hour clock) as a decimal number (range 1 to 12);
- * single digits are preceded by a blank. (See also %I.) (TZ)
- * %m The month as a decimal number (range 01 to 12).
- * %M The minute as a decimal number (range 00 to 59).
- * %n A newline character. (SU)
- * %p Either "AM" or "PM" according to the given time value, or the
- * corresponding strings for the current locale. Noon is treated
- * as "PM" and midnight as "AM".
- * %P Like %p but in lowercase: "am" or "pm" or a corresponding string
- * for the current locale. (GNU)
- * %s The number of seconds since the Epoch, that is, since 1970-01-01
- * 00:00:00 UTC. (TZ)
- * %S The second as a decimal number (range 00 to 60). (The range is
- * up to 60 to allow for occasional leap seconds.)
- * %t A tab character. (SU)
- * %y The year as a decimal number without a century (range 00 to 99).
- * %Y The year as a decimal number including the century.
- * %% A literal '%' character.
- *
- * Returned Value:
- * The strftime() function returns the number of characters placed in the
- * array s, not including the terminating null byte, provided the string,
- * including the terminating null byte, fits. Otherwise, it returns 0,
- * and the contents of the array is undefined.
- *
- ****************************************************************************/
-
-size_t strftime(char *s, size_t max, const char *format, const struct tm *tm)
-{
- const char *str;
- char *dest = s;
- int chleft = max;
- int value;
- int len;
-
- while (*format && chleft > 0)
- {
- /* Just copy regular characters */
-
- if (*format != '%')
- {
- *dest++ = *format++;
- chleft--;
- continue;
- }
-
- /* Handle the format character */
-
- format++;
- len = 0;
-
- switch (*format++)
- {
- /* %a: A three-letter abbreviation for the day of the week. */
- /* %A: The full name for the day of the week. */
-
- case 'a':
- case 'A':
- {
- len = snprintf(dest, chleft, "Day"); /* Not supported */
- }
- break;
-
- /* %h: Equivalent to %b */
-
- case 'h':
-
- /* %b: The abbreviated month name according to the current locale. */
-
- case 'b':
- {
- if (tm->tm_mon < 12)
- {
- str = g_abbrevmonthname[tm->tm_mon];
- len = snprintf(dest, chleft, "%s", str);
- }
- }
- break;
-
- /* %B: The full month name according to the current locale. */
-
- case 'B':
- {
- if (tm->tm_mon < 12)
- {
- str = g_monthname[tm->tm_mon];
- len = snprintf(dest, chleft, "%s", str);
- }
- }
- break;
-
- /* %y: The year as a decimal number without a century (range 00 to 99). */
-
- case 'y':
-
- /* %C: The century number (year/100) as a 2-digit integer. */
-
- case 'C':
- {
- len = snprintf(dest, chleft, "%02d", tm->tm_year % 100);
- }
- break;
-
- /* %d: The day of the month as a decimal number (range 01 to 31). */
-
- case 'd':
- {
- len = snprintf(dest, chleft, "%02d", tm->tm_mday);
- }
- break;
-
- /* %e: Like %d, the day of the month as a decimal number, but a leading
- * zero is replaced by a space.
- */
-
- case 'e':
- {
- len = snprintf(dest, chleft, "%2d", tm->tm_mday);
- }
- break;
-
- /* %H: The hour as a decimal number using a 24-hour clock (range 00 to 23). */
-
- case 'H':
- {
- len = snprintf(dest, chleft, "%02d", tm->tm_hour);
- }
- break;
-
- /* %I: The hour as a decimal number using a 12-hour clock (range 01 to 12). */
-
- case 'I':
- {
- len = snprintf(dest, chleft, "%02d", tm->tm_hour % 12);
- }
- break;
-
- /* %j: The day of the year as a decimal number (range 001 to 366). */
-
- case 'j':
- {
- if (tm->tm_mon < 12)
- {
- value = clock_daysbeforemonth(tm->tm_mon, clock_isleapyear(tm->tm_year)) + tm->tm_mday;
- len = snprintf(dest, chleft, "%03d", value);
- }
- }
- break;
-
- /* %k: The hour (24-hour clock) as a decimal number (range 0 to 23);
- * single digits are preceded by a blank.
- */
-
- case 'k':
- {
- len = snprintf(dest, chleft, "%2d", tm->tm_hour);
- }
- break;
-
- /* %l: The hour (12-hour clock) as a decimal number (range 1 to 12);
- * single digits are preceded by a blank.
- */
-
- case 'l':
- {
- len = snprintf(dest, chleft, "%2d", tm->tm_hour % 12);
- }
- break;
-
- /* %m: The month as a decimal number (range 01 to 12). */
-
- case 'm':
- {
- len = snprintf(dest, chleft, "%02d", tm->tm_mon + 1);
- }
- break;
-
- /* %M: The minute as a decimal number (range 00 to 59). */
-
- case 'M':
- {
- len = snprintf(dest, chleft, "%02d", tm->tm_min);
- }
- break;
-
- /* %n: A newline character. */
-
- case 'n':
- {
- *dest = '\n';
- len = 1;
- }
- break;
-
- /* %p: Either "AM" or "PM" according to the given time value. */
-
- case 'p':
- {
- if (tm->tm_hour >= 12)
- {
- str = "PM";
- }
- else
- {
- str = "AM";
- }
- len = snprintf(dest, chleft, "%s", str);
- }
- break;
-
- /* %P: Like %p but in lowercase: "am" or "pm" */
-
- case 'P':
- {
- if (tm->tm_hour >= 12)
- {
- str = "pm";
- }
- else
- {
- str = "am";
- }
- len = snprintf(dest, chleft, "%s", str);
- }
- break;
-
- /* %s: The number of seconds since the Epoch, that is, since 1970-01-01
- * 00:00:00 UTC.
- */
-
- case 's':
- {
- len = snprintf(dest, chleft, "%d", mktime(tm));
- }
- break;
-
- /* %S: The second as a decimal number (range 00 to 60). (The range is
- * up to 60 to allow for occasional leap seconds.)
- */
-
- case 'S':
- {
- len = snprintf(dest, chleft, "%02d", tm->tm_sec);
- }
- break;
-
- /* %t: A tab character. */
-
- case 't':
- {
- *dest = '\t';
- len = 1;
- }
- break;
-
- /* %Y: The year as a decimal number including the century. */
-
- case 'Y':
- {
- len = snprintf(dest, chleft, "%04d", tm->tm_year + 1900);
- }
- break;
-
- /* %%: A literal '%' character. */
-
- case '%':
- {
- *dest = '%';
- len = 1;
- }
- break;
- }
-
- /* Update counts and pointers */
-
- dest += len;
- chleft -= len;
- }
-
- return max - chleft;
-}
diff --git a/nuttx/lib/time/lib_time.c b/nuttx/lib/time/lib_time.c
deleted file mode 100644
index 106a04c36..000000000
--- a/nuttx/lib/time/lib_time.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
- * lib/time/lib_time.c
- *
- * Copyright (C) 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/time.h>
-#include <time.h>
-
-#ifndef CONFIG_DISABLE_CLOCK
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Data
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Function: time
- *
- * Description:
- * Get the current calendar time as a time_t object. The function returns
- * this value, and if the argument is not a null pointer, the value is also
- * set to the object pointed by tloc.
- *
- * Note that this function is just a thin wrapper around gettimeofday()
- * and is provided for compatibility. gettimeofday() is the preffered way
- * to obtain system time.
- *
- * Parameters:
- * Pointer to an object of type time_t, where the time value is stored.
- * Alternativelly, this parameter can be a null pointer, in which case the
- * parameter is not used, but a time_t object is still returned by the
- * function.
- *
- * Return Value:
- * The current calendar time as a time_t object. If the argument is not
- * a null pointer, the return value is the same as the one stored in the
- * location pointed by the argument.
- *
- * If the function could not retrieve the calendar time, it returns a -1
- * value.
- *
- ****************************************************************************/
-
-time_t time(time_t *tloc)
-{
- struct timeval tp;
- int ret;
-
- /* Get the current time from the system */
-
- ret = gettimeofday(&tp, NULL);
- if (ret == OK)
- {
- /* Return the seconds since the epoch */
-
- if (tloc)
- {
- *tloc = tp.tv_sec;
- }
-
- return tp.tv_sec;
- }
-
- return (time_t)ERROR;
-}
-
-#endif /* !CONFIG_DISABLE_CLOCK */
diff --git a/nuttx/lib/unistd/Make.defs b/nuttx/lib/unistd/Make.defs
deleted file mode 100644
index e1441a48d..000000000
--- a/nuttx/lib/unistd/Make.defs
+++ /dev/null
@@ -1,49 +0,0 @@
-############################################################################
-# lib/unistd/Make.defs
-#
-# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
-# Author: Gregory Nutt <gnutt@nuttx.org>
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# 3. Neither the name NuttX nor the names of its contributors may be
-# used to endorse or promote products derived from this software
-# without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-#
-############################################################################
-
-# Add the unistd C files to the build
-
-CSRCS += lib_getopt.c lib_getoptargp.c lib_getoptindp.c lib_getoptoptp.c
-
-ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
-ifneq ($(CONFIG_DISABLE_ENVIRON),y)
-CSRCS += lib_chdir.c lib_getcwd.c
-endif
-endif
-
-# Add the unistd directory to the build
-
-DEPPATH += --dep-path unistd
-VPATH += :unistd
diff --git a/nuttx/lib/unistd/lib_chdir.c b/nuttx/lib/unistd/lib_chdir.c
deleted file mode 100644
index 3dd1333ce..000000000
--- a/nuttx/lib/unistd/lib_chdir.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/****************************************************************************
- * lib/unistd/lib_chdir.c
- *
- * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/stat.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-#if CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_ENVIRON)
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: _trimdir
- ****************************************************************************/
-
-#if 0
-static inline void _trimdir(char *path)
-{
- /* Skip any trailing '/' characters (unless it is also the leading '/') */
-
- int len = strlen(path) - 1;
- while (len > 0 && path[len] == '/')
- {
- path[len] = '\0';
- len--;
- }
-}
-#else
-# define _trimdir(p)
-#endif
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: chdir
- *
- * Description:
- * The chdir() function causes the directory named by the pathname pointed
- * to by the 'path' argument to become the current working directory; that
- * is, the starting point for path searches for pathnames not beginning
- * with '/'.
- *
- * Input Parmeters:
- * path - A pointer to a directory to use as the new current working
- * directory
- *
- * Returned Value:
- * 0(OK) on success; -1(ERROR) on failure with errno set appropriately:
- *
- * EACCES
- * Search permission is denied for any component of the pathname.
- * ELOOP
- * A loop exists in symbolic links encountered during resolution of the
- * 'path' argument OR more that SYMLOOP_MAX symbolic links in the
- * resolution of the 'path' argument.
- * ENAMETOOLONG
- * The length of the path argument exceeds PATH_MAX or a pathname component
- * is longer than NAME_MAX.
- * ENOENT
- * A component of 'path' does not name an existing directory or path is
- * an empty string.
- * ENOTDIR
- * A component of the pathname is not a directory.
- *
- ****************************************************************************/
-
-int chdir(FAR const char *path)
-{
- struct stat buf;
- char *oldpwd;
- char *alloc;
- int err;
- int ret;
-
- /* Verify the input parameters */
-
- if (!path)
- {
- err = ENOENT;
- goto errout;
- }
-
- /* Verify that 'path' refers to a directory */
-
- ret = stat(path, &buf);
- if (ret != 0)
- {
- err = ENOENT;
- goto errout;
- }
-
- /* Something exists here... is it a directory? */
-
- if (!S_ISDIR(buf.st_mode))
- {
- err = ENOTDIR;
- goto errout;
- }
-
- /* Yes, it is a directory. Remove any trailing '/' characters from the path */
-
- _trimdir(path);
-
- /* Replace any preceding OLDPWD with the current PWD (this is to
- * support 'cd -' in NSH)
- */
-
- sched_lock();
- oldpwd = getenv("PWD");
- if (!oldpwd)
- {
- oldpwd = CONFIG_LIB_HOMEDIR;
- }
-
- alloc = strdup(oldpwd); /* kludge needed because environment is realloc'ed */
- setenv("OLDPWD", alloc, TRUE);
- lib_free(alloc);
-
- /* Set the cwd to the input 'path' */
-
- setenv("PWD", path, TRUE);
- sched_unlock();
- return OK;
-
-errout:
- set_errno(err);
- return ERROR;
-}
-#endif /* CONFIG_NFILE_DESCRIPTORS && !CONFIG_DISABLE_ENVIRON */
diff --git a/nuttx/lib/unistd/lib_getcwd.c b/nuttx/lib/unistd/lib_getcwd.c
deleted file mode 100644
index b94823300..000000000
--- a/nuttx/lib/unistd/lib_getcwd.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/****************************************************************************
- * lib/unistd/lib_getcwd.c
- *
- * Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include "lib_internal.h"
-
-#if CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_ENVIRON)
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: getwcd
- *
- * Description:
- * getcwd() function places the absolute pathname of the current working
- * directory in the array pointed to by 'buf', and returns 'buf.' The
- * pathname copied to the array shall contain no components that are
- * symbolic links. The 'size' argument is the size in bytes of the
- * character array pointed to by the 'buf' argument.
- *
- * Input Parmeters:
- * buf - a pointer to the location in which the current working directory
- * pathaname is returned.
- * size - The size in bytes avaiable at 'buf'
- *
- * Returned Value:
- * Upon successful completion, getcwd() returns the 'buf' argument.
- * Otherwise, getcwd() returns a null pointer and sets errno to indicate
- * the error:
- *
- * EINVAL
- * The 'size' argument is 0 or the 'buf' argument is NULL.
- * ERANGE
- * The size argument is greater than 0, but is smaller than the length
- * of the currrent working directory pathname +1.
- * EACCES
- * Read or search permission was denied for a component of the pathname.
- * ENOMEM
- * Insufficient storage space is available.
- *
- ****************************************************************************/
-
-FAR char *getcwd(FAR char *buf, size_t size)
-{
- char *pwd;
-
- /* Verify input parameters */
-
-#ifdef CONFIG_DEBUG
- if (!buf || !size)
- {
- set_errno(EINVAL);
- return NULL;
- }
-#endif
-
- /* If no working directory is defined, then default to the home directory */
-
- pwd = getenv("PWD");
- if (!pwd)
- {
- pwd = CONFIG_LIB_HOMEDIR;
- }
-
- /* Verify that the cwd will fit into the user-provided buffer */
-
- if (strlen(pwd) + 1 > size)
- {
- set_errno(ERANGE);
- return NULL;
- }
-
- /* Copy the cwd to the user buffer */
-
- strcpy(buf, pwd);
- sched_unlock();
- return buf;
-}
-#endif /* CONFIG_NFILE_DESCRIPTORS && !CONFIG_DISABLE_ENVIRON */
diff --git a/nuttx/lib/unistd/lib_getopt.c b/nuttx/lib/unistd/lib_getopt.c
deleted file mode 100644
index 832d28721..000000000
--- a/nuttx/lib/unistd/lib_getopt.c
+++ /dev/null
@@ -1,269 +0,0 @@
-/****************************************************************************
- * lib/unistd/lib_getopt.c
- *
- * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdbool.h>
-#include <unistd.h>
-#include <string.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-FAR char *optarg; /* Optional argument following option */
-int optind = 1; /* Index into argv */
-int optopt = '?'; /* unrecognized option character */
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-static FAR char *g_optptr = NULL;
-static bool g_binitialized = false;
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: getopt
- *
- * Description: getopt() parses command-line arguments. Its arguments argc
- * and argv are the argument count and array as passed to the main()
- * function on program invocation. An element of argv that starts with
- * '-' is an option element. The characters of this element (aside from
- * the initial '-') are option characters. If getopt() is called repeatedly,
- * it returns successively each of the option characters from each of the
- * option elements.
- *
- * If getopt() finds another option character, it returns that character,
- * updating the external variable optind and a static variable nextchar so
- * that the next call to getopt() can resume the scan with the following
- * option character or argv-element.
- *
- * If there are no more option characters, getopt() returns -1. Then optind
- * is the index in argv of the first argv-element that is not an option.
- *
- * The 'optstring' argument is a string containing the legitimate option
- * characters. If such a character is followed by a colon, this indicates
- * that the option requires an argument. If an argument is required for an
- * option so getopt() places a pointer to the following text in the same
- * argv-element, or the text of the following argv-element, in optarg.
- *
- * NOTES:
- * 1. opterr is not supported and this implementation of getopt() never
- * printfs error messages.
- * 2. getopt is NOT threadsafe!
- * 3. This version of getopt() does not reset global variables until
- * -1 is returned. As a result, your command line parsing loops
- * must call getopt() repeatedly and continue to parse if other
- * errors are returned ('?' or ':') until getopt() finally returns -1.
- * (You can also set optind to -1 to force a reset).
- *
- * Return: If an option was successfully found, then getopt() returns the
- * option character. If all command-line options have been parsed, then
- * getopt() returns -1. If getopt() encounters an option character that
- * was not in optstring, then '?' is returned. If getopt() encounters an
- * option with a missing argument, then the return value depends on the
- * first character in optstring: if it is ':', then ':' is returned;
- * otherwise '?' is returned.
- *
- ****************************************************************************/
-
-int getopt(int argc, FAR char *const argv[], FAR const char *optstring)
-{
- if (argv && optstring && argc > 1)
- {
- int noarg_ret = '?';
- char *optchar;
-
- /* The inital value of optind is 1. If getopt() is called again in the
- * program, optind must be reset to some value <= 1.
- */
-
- if (optind < 1 || !g_binitialized)
- {
- optind = 1; /* Skip over the program name */
- g_optptr = NULL; /* Start at the beginning of the first argument */
- g_binitialized = true; /* Now we are initialized */
- }
-
- /* If the first character of opstring s ':', then ':' is in the event of
- * a missing argument. Otherwise '?' is returned.
- */
-
- if (*optstring == ':')
- {
- noarg_ret = ':';
- optstring++;
- }
-
- /* Are we resuming in the middle, or at the end of a string of arguments?
- * g_optptr == NULL means that we are started at the beginning of argv[optind];
- * *g_optptr == \0 means that we are starting at the beginning of optind+1
- */
-
- while (!g_optptr || !*g_optptr)
- {
- /* We need to start at the beginning of the next argv. Check if we need
- * to increment optind
- */
-
- if (g_optptr)
- {
- /* Yes.. Increment it and check for the case where where we have
- * processed everything in the argv[] array.
- */
-
- optind++;
- }
-
- /* Check for the end of the argument list */
-
- g_optptr = argv[optind];
- if (!g_optptr)
- {
- /* There are no more arguments, we are finished */
-
- g_binitialized = false;
- return ERROR;
- }
-
- /* We are starting at the beginning of argv[optind]. In this case, the
- * first character must be '-'
- */
-
- if (*g_optptr != '-')
- {
- /* The argument does not start with '-', we are finished */
-
- g_binitialized = false;
- return ERROR;
- }
-
- /* Skip over the '-' */
-
- g_optptr++;
- }
-
- /* Special case handling of "-" and "-:" */
-
- if (!*g_optptr)
- {
- optopt = '\0'; /* We'll fix up g_optptr the next time we are called */
- return '?';
- }
-
- /* Handle the case of "-:" */
-
- if (*g_optptr == ':')
- {
- optopt = ':';
- g_optptr++;
- return '?';
- }
-
- /* g_optptr now points at the next option and it is not something crazy.
- * check if the option is in the list of valid options.
- */
-
- optchar = strchr(optstring, *g_optptr);
- if (!optchar)
- {
- /* No this character is not in the list of valid options */
-
- optopt = *g_optptr;
- g_optptr++;
- return '?';
- }
-
- /* Yes, the character is in the list of valid options. Does it have an
- * required argument?
- */
-
- if (optchar[1] != ':')
- {
- /* No, no arguments. Just return the character that we found */
-
- g_optptr++;
- return *optchar;
- }
-
- /* Yes, it has a required argument. Is the required argument
- * immediately after the command in this same argument?
- */
-
- if (g_optptr[1] != '\0')
- {
- /* Yes, return a pointer into the current argument */
-
- optarg = &g_optptr[1];
- optind++;
- g_optptr = NULL;
- return *optchar;
- }
-
- /* No.. is the optional argument the next argument in argv[] ? */
-
- if (argv[optind+1] && *argv[optind+1] != '-')
- {
- /* Yes.. return that */
-
- optarg = argv[optind+1];
- optind += 2;
- g_optptr = NULL;
- return *optchar;
- }
-
- /* No argument was supplied */
-
- optarg = NULL;
- optopt = *optchar;
- optind++;
- return noarg_ret;
- }
-
- g_binitialized = false;
- return ERROR;
-}
diff --git a/nuttx/lib/unistd/lib_getoptargp.c b/nuttx/lib/unistd/lib_getoptargp.c
deleted file mode 100644
index 98a485016..000000000
--- a/nuttx/lib/unistd/lib_getoptargp.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
- * lib/unistd/lib_getoptargp.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <unistd.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: getoptargp
- *
- * Description:
- * Returns a pointer to optarg. This function is only used for external
- * modules that need to access the base, global variable, optarg.
- *
- ****************************************************************************/
-
-FAR char **getoptargp(void)
-{
- return &optarg;
-}
-
diff --git a/nuttx/lib/unistd/lib_getoptindp.c b/nuttx/lib/unistd/lib_getoptindp.c
deleted file mode 100644
index 7714f8e70..000000000
--- a/nuttx/lib/unistd/lib_getoptindp.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
- * lib/unistd/lib_getoptindp.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <unistd.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: getoptindp
- *
- * Description:
- * Returns a pointer to optind. This function is only used for external
- * modules that need to access the base, global variable, optind.
- *
- ****************************************************************************/
-
-int *getoptindp(void)
-{
- return &optind;
-}
-
diff --git a/nuttx/lib/unistd/lib_getoptoptp.c b/nuttx/lib/unistd/lib_getoptoptp.c
deleted file mode 100644
index 4805b7ac3..000000000
--- a/nuttx/lib/unistd/lib_getoptoptp.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
- * lib/unistd/lib_getoptoptp.c
- *
- * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <unistd.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Global Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: getoptoptp
- *
- * Description:
- * Returns a pointer to optopt. This function is only used for external
- * modules that need to access the base, global variable, optopt.
- *
- ****************************************************************************/
-
-int *getoptoptp(void)
-{
- return &optopt;
-}
-