summaryrefslogtreecommitdiff
path: root/nuttx
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
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')
-rw-r--r--nuttx/COPYING10
-rw-r--r--nuttx/ChangeLog4
-rw-r--r--nuttx/Documentation/NuttXNxFlat.html4
-rw-r--r--nuttx/Documentation/NuttxPortingGuide.html14
-rw-r--r--nuttx/Documentation/README.html4
-rw-r--r--nuttx/Kconfig2
-rw-r--r--nuttx/Makefile34
-rw-r--r--nuttx/README.txt2
-rw-r--r--nuttx/TODO14
-rw-r--r--nuttx/configs/stm32f4discovery/ostest/defconfig300
-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
-rw-r--r--nuttx/libxx/Makefile2
297 files changed, 78 insertions, 32320 deletions
diff --git a/nuttx/COPYING b/nuttx/COPYING
index 4cf66a596..b3655265d 100644
--- a/nuttx/COPYING
+++ b/nuttx/COPYING
@@ -163,8 +163,8 @@ dtoa():
"This product includes software developed by the University of
California, Berkeley and its contributors."
-lib/string/lib_vikmemcpy.c
-^^^^^^^^^^^^^^^^^^^^^^^^^^
+libc/string/lib_vikmemcpy.c
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you enable CONFIG_MEMCPY_VIK, then you will build with the optimized
version of memcpy from Daniel Vik. Licensing information for that version
@@ -192,10 +192,10 @@ lib/string/lib_vikmemcpy.c
3. This notice may not be removed or altered from any source
distribution.
-lib/math
-^^^^^^^^
+libc/math
+^^^^^^^^^
- If you enable CONFIG_LIB, you will build the math library at lib/math.
+ If you enable CONFIG_LIB, you will build the math library at libc/math.
This library was taken from the math library developed for the Rhombus
OS by Nick Johnson (https://github.com/nickbjohnson4224/rhombus). This
port was contributed by Darcy Gong. The Rhombus math library has this
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 247704b7a..c63dbe62b 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -3591,3 +3591,7 @@
are also more subject to the "fat, flat line bug" that I need to fix
someday. See http://www.nuttx.org/doku.php?id=wiki:graphics:nxgraphics
for a description of the fat, flat line bug.
+ * libc: Renamed nuttx/lib to nuttx/libc to make space for a true lib/
+ directory that will be forthcoming. Also rename libraries: liblib.a -> libc.a,
+ libulib.a -> libuc.a, libklib.a -> libkc.a, liblibxx.a ->libcxx.a.
+ (I will probably, eventually rename libxx to libcxx for consistency)
diff --git a/nuttx/Documentation/NuttXNxFlat.html b/nuttx/Documentation/NuttXNxFlat.html
index 2e6d2f59a..3a2ed8046 100644
--- a/nuttx/Documentation/NuttXNxFlat.html
+++ b/nuttx/Documentation/NuttXNxFlat.html
@@ -407,7 +407,7 @@ any following arguments.
<code>nuttx/syscall/syscall.csv</code> that describes the NuttX RTOS interface, and
</li>
<li>
- <code>nuttx/lib/lib/csv</code> that describes the NuttX C library interface.
+ <code>nuttx/libc/lib.csv</code> that describes the NuttX C library interface.
</li>
</ol>
<ul><pre>
@@ -424,7 +424,7 @@ Where:
</p>
<ul><pre>
cd nuttx/tools
-cat ../syscall/syscall.csv ../lib/lib.csv | sort >tmp.csv
+cat ../syscall/syscall.csv ../libc/lib.csv | sort >tmp.csv
./mksymtab.exe tmp.csv tmp.c
</pre></ul>
diff --git a/nuttx/Documentation/NuttxPortingGuide.html b/nuttx/Documentation/NuttxPortingGuide.html
index a2c58b41f..e602d2cd3 100644
--- a/nuttx/Documentation/NuttxPortingGuide.html
+++ b/nuttx/Documentation/NuttxPortingGuide.html
@@ -52,7 +52,7 @@
<a href="#DirStructFs">2.6 nuttx/fs/</a><br>
<a href="#DirStructGraphics">2.7 nuttx/graphics/</a><br>
<a href="#DirStructInclude">2.8 nuttx/include/</a><br>
- <a href="#DirStructLib">2.9 nuttx/lib/</a><br>
+ <a href="#DirStructLib">2.9 nuttx/libc/</a><br>
<a href="#DirStructLibXX">2.10 nuttx/libxx/</a><br>
<a href="#DirStructMm">2.11 nuttx/mm/</a><br>
<a href="#DirStructNet">2.12 nuttx/net</a><br>
@@ -230,9 +230,9 @@
| | | `-- <i>(more standard header files)</i>
| | |-- <i>(non-standard include sub-directories)</i>
| | `-- <i>(non-standard header files)</i>
-| |-- <a href="#DirStructLib">lib</a>/
+| |-- <a href="#DirStructLib">libc</a>/
| | |-- Makefile
-| | `-- <i>(lib source files)</i>
+| | `-- <i>(libc source files)</i>
| |-- <a href="#DirStructLibXX">libxx</a>/
| | |-- Makefile
| | `-- <i>(libxx management source files)</i>
@@ -1160,15 +1160,15 @@ include/
`-- <i>(More standard header files)</i>
</per></ul>
-<h2>2.9 <a name="DirStructLib">nuttx/lib</a></h2>
+<h2>2.9 <a name="DirStructLib">nuttx/libc</a></h2>
<p>
This directory holds a collection of standard libc-like functions with custom
interfaces into NuttX.
</p>
<p>
- Normally the logic in this file builds to a single library (<code>liblib.a</code>).
+ Normally the logic in this file builds to a single library (<code>libc.a</code>).
However, if NuttX is built as a separately compiled kernel (with <code>CONFIG_NUTTX_KERNEL=y</code>), then the contents of this directory are built as two libraries:
- One for use by user programs (<code>libulib.a</code>) and one for use only within the &lt;kernel&gt; space (<code>libklib.a</code>).
+ One for use by user programs (<code>libuc.a</code>) and one for use only within the &lt;kernel&gt; space (<code>libkc.a</code>).
</p>
<p>
These user/kernel space libraries (along with the sycalls of <a href="#DirStructSyscall"><code>nuttx/syscall</code></a>) are needed to support the two differing protection domains.
@@ -1177,7 +1177,7 @@ include/
Directory structure:
</p>
<ul><pre>
-lib/
+libc/
|-- libgen/
| `-- <i>(Implementation of functions from libgen.h)</i>
|-- math/
diff --git a/nuttx/Documentation/README.html b/nuttx/Documentation/README.html
index 61d5c43af..0a4cc93b0 100644
--- a/nuttx/Documentation/README.html
+++ b/nuttx/Documentation/README.html
@@ -236,8 +236,8 @@
| | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/fs/nxffs/README.txt"><b><i>README.txt</i></b></a>
| |- graphics/
| | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/graphics/README.txt"><b><i>README.txt</i></b></a>
- | |- lib/
- | | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/lib/README.txt"><b><i>README.txt</i></b></a>
+ | |- libc/
+ | | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/libc/README.txt"><b><i>README.txt</i></b></a>
| |- libxx/
| | `- <a href="http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/libxx/README.txt"><b><i>README.txt</i></b></a>
| |- mm/
diff --git a/nuttx/Kconfig b/nuttx/Kconfig
index 90fe74f25..13e92ebf2 100644
--- a/nuttx/Kconfig
+++ b/nuttx/Kconfig
@@ -467,7 +467,7 @@ source binfmt/Kconfig
endmenu
menu "Library Routines"
-source lib/Kconfig
+source libc/Kconfig
source libxx/Kconfig
endmenu
diff --git a/nuttx/Makefile b/nuttx/Makefile
index 8235854fd..c1060c34f 100644
--- a/nuttx/Makefile
+++ b/nuttx/Makefile
@@ -115,14 +115,14 @@ ifeq ($(CONFIG_NUTTX_KERNEL),y)
NONFSDIRS += syscall
CONTEXTDIRS += syscall
-USERDIRS += syscall lib mm $(USER_ADDONS)
+USERDIRS += syscall libc mm $(USER_ADDONS)
ifeq ($(CONFIG_HAVE_CXX),y)
USERDIRS += libxx
endif
else
-NONFSDIRS += lib mm
+NONFSDIRS += libc mm
OTHERDIRS += syscall $(USER_ADDONS)
ifeq ($(CONFIG_HAVE_CXX),y)
NONFSDIRS += libxx
@@ -197,10 +197,10 @@ USERLIBS =
# is placed in user space (only).
ifeq ($(CONFIG_NUTTX_KERNEL),y)
-NUTTXLIBS += syscall/libstubs$(LIBEXT) lib/libklib$(LIBEXT)
-USERLIBS += syscall/libproxies$(LIBEXT) lib/libulib$(LIBEXT) mm/libmm$(LIBEXT)
+NUTTXLIBS += syscall/libstubs$(LIBEXT) libc/libkc$(LIBEXT)
+USERLIBS += syscall/libproxies$(LIBEXT) libc/libuc$(LIBEXT) mm/libmm$(LIBEXT)
else
-NUTTXLIBS += mm/libmm$(LIBEXT) lib/liblib$(LIBEXT)
+NUTTXLIBS += mm/libmm$(LIBEXT) libc/libc$(LIBEXT)
endif
# Add libraries for C++ support. CXX, CXXFLAGS, and COMPILEXX must
@@ -208,9 +208,9 @@ endif
ifeq ($(CONFIG_HAVE_CXX),y)
ifeq ($(CONFIG_NUTTX_KERNEL),y)
-USERLIBS += libxx/liblibxx$(LIBEXT)
+USERLIBS += libxx/libcxx$(LIBEXT)
else
-NUTTXLIBS += libxx/liblibxx$(LIBEXT)
+NUTTXLIBS += libxx/libcxx$(LIBEXT)
endif
endif
@@ -267,7 +267,7 @@ all: $(BIN)
# include/nuttx/math.h will hand the redirection to the architecture-
# specific math.h header file.
#
-# If the CONFIG_LIBM is defined, the Rhombus libm will be built at lib/math.
+# If the CONFIG_LIBM is defined, the Rhombus libm will be built at libc/math.
# Definitions and prototypes for the Rhombus libm are also contained in
# include/nuttx/math.h and so the file must also be copied in that case.
#
@@ -445,8 +445,8 @@ check_context:
#
# Possible kernel-mode builds
-lib/libklib$(LIBEXT): context
- $(Q) $(MAKE) -C lib TOPDIR="$(TOPDIR)" libklib$(LIBEXT) EXTRADEFINES=$(KDEFINE)
+libc/libkc$(LIBEXT): context
+ $(Q) $(MAKE) -C libc TOPDIR="$(TOPDIR)" libkc$(LIBEXT) EXTRADEFINES=$(KDEFINE)
sched/libsched$(LIBEXT): context
$(Q) $(MAKE) -C sched TOPDIR="$(TOPDIR)" libsched$(LIBEXT) EXTRADEFINES=$(KDEFINE)
@@ -474,11 +474,11 @@ syscall/libstubs$(LIBEXT): context
# Possible user-mode builds
-lib/libulib$(LIBEXT): context
- $(Q) $(MAKE) -C lib TOPDIR="$(TOPDIR)" libulib$(LIBEXT)
+libc/libuc$(LIBEXT): context
+ $(Q) $(MAKE) -C libc TOPDIR="$(TOPDIR)" libuc$(LIBEXT)
-libxx/liblibxx$(LIBEXT): context
- $(Q) $(MAKE) -C libxx TOPDIR="$(TOPDIR)" liblibxx$(LIBEXT)
+libxx/libcxx$(LIBEXT): context
+ $(Q) $(MAKE) -C libxx TOPDIR="$(TOPDIR)" libcxx$(LIBEXT)
mm/libmm$(LIBEXT): context
$(Q) $(MAKE) -C mm TOPDIR="$(TOPDIR)" libmm$(LIBEXT) EXTRADEFINES=$(KDEFINE)
@@ -491,8 +491,8 @@ syscall/libproxies$(LIBEXT): context
# Possible non-kernel builds
-lib/liblib$(LIBEXT): context
- $(Q) $(MAKE) -C lib TOPDIR="$(TOPDIR)" liblib$(LIBEXT)
+libc/libc$(LIBEXT): context
+ $(Q) $(MAKE) -C libc TOPDIR="$(TOPDIR)" libc$(LIBEXT)
# pass1 and pass2
#
@@ -649,7 +649,7 @@ distclean: clean subdir_distclean clean_context
ifeq ($(CONFIG_BUILD_2PASS),y)
$(Q) $(MAKE) -C $(CONFIG_PASS1_BUILDIR) TOPDIR="$(TOPDIR)" distclean
endif
- $(Q) rm -f Make.defs setenv.sh .config .config.old
+ $(Q) rm -f Make.defs setenv.sh setenv.bat .config .config.old
# Application housekeeping targets. The APPDIR variable refers to the user
# application directory. A sample apps/ directory is included with NuttX,
diff --git a/nuttx/README.txt b/nuttx/README.txt
index 85bb7f381..c6138d1fd 100644
--- a/nuttx/README.txt
+++ b/nuttx/README.txt
@@ -842,7 +842,7 @@ nuttx
| `- README.txt
|- graphics/
| `- README.txt
- |- lib/
+ |- libc/
| `- README.txt
|- libxx/
| `- README.txt
diff --git a/nuttx/TODO b/nuttx/TODO
index e98aced90..343212a31 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -15,7 +15,7 @@ nuttx/
(6) Binary loaders (binfmt/)
(17) Network (net/, drivers/net)
(4) USB (drivers/usbdev, drivers/usbhost)
- (11) Libraries (lib/)
+ (11) Libraries (libc/, )
(9) File system/Generic drivers (fs/, drivers/)
(5) Graphics subystem (graphics/)
(1) Pascal add-on (pcode/)
@@ -634,8 +634,8 @@ o USB (drivers/usbdev, drivers/usbhost)
Status: Open
Priority: Low/Unknown. This is a feature enhancement.
-o Libraries (lib/)
- ^^^^^^^^^^^^^^^^
+o Libraries (libc/)
+ ^^^^^^^^^^^^^^^^^
Title: ENVIRON
Description: The definition of environ in stdlib.h is bogus and will not
@@ -648,7 +648,7 @@ o Libraries (lib/)
Description: Need some minimal termios support... at a minimum, enough to
switch between raw and "normal" modes to support behavior like
that needed for readline().
- UPDATE: There is growing functionality in lib/termios/ and in the
+ UPDATE: There is growing functionality in libc/termios/ and in the
ioctl methods of several MCU serial drivers (stm32, lpc43, lpc17,
pic32). However, as phrased, this bug cannot yet be closed since
this "growing functionality" does not address all termios.h
@@ -713,7 +713,7 @@ o Libraries (lib/)
Priority:
Title: OLD dtoa NEEDS TO BE UPDATED
- Description: This implementation of dtoa in lib/stdio is old and will not
+ Description: This implementation of dtoa in libc/stdio is old and will not
work with some newer compilers. See
http://patrakov.blogspot.com/2009/03/dont-use-old-dtoac.html
Status: Open
@@ -721,7 +721,7 @@ o Libraries (lib/)
Title: SYSLOG INTEGRATION
Description: There are the beginnings of some system logging capabilities (see
- drivers/syslog, fs/fs_syslog.c, and lib/stdio/lib_librawprintf.c and
+ drivers/syslog, fs/fs_syslog.c, and libc/stdio/lib_librawprintf.c and
lib_liblowprintf.c. For NuttX, SYSLOG is a concept and includes,
extends, and replaces the legacy NuttX debug ouput. Some additional
integration is required to formalized this. For example:
@@ -958,7 +958,7 @@ o Build system
built configuration, only the multiple user mode can be supported
with the NX server residing inside of the kernel space. In
this case, most of the user end functions in graphics/nxmu
- must be moved to lib/nx and those functions must be built into
+ must be moved to libc/nx and those functions must be built into
libuser.a to be linked with the user-space code.
A similar issue exists in NSH that uses some internal OS
interfaces that would not be available in a kernel build
diff --git a/nuttx/configs/stm32f4discovery/ostest/defconfig b/nuttx/configs/stm32f4discovery/ostest/defconfig
index a644b42ec..da7c8d200 100644
--- a/nuttx/configs/stm32f4discovery/ostest/defconfig
+++ b/nuttx/configs/stm32f4discovery/ostest/defconfig
@@ -8,6 +8,15 @@ CONFIG_NUTTX_NEWCONFIG=y
# Build Setup
#
# CONFIG_EXPERIMENTAL is not set
+# CONFIG_HOST_LINUX is not set
+# CONFIG_HOST_OSX is not set
+CONFIG_HOST_WINDOWS=y
+# CONFIG_HOST_OTHER is not set
+# CONFIG_WINDOWS_NATIVE is not set
+CONFIG_WINDOWS_CYGWIN=y
+# CONFIG_WINDOWS_MSYS is not set
+# CONFIG_WINDOWS_OTHER is not set
+# CONFIG_WINDOWS_MKLINK is not set
#
# Build Configuration
@@ -28,6 +37,7 @@ CONFIG_RAW_BINARY=y
#
# CONFIG_ARCH_STDBOOL_H is not set
# CONFIG_ARCH_MATH_H is not set
+# CONFIG_ARCH_FLOAT_H is not set
# CONFIG_ARCH_STDARG_H is not set
#
@@ -72,6 +82,8 @@ CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CORTEXM4=y
CONFIG_ARCH_FAMILY="armv7-m"
CONFIG_ARCH_CHIP="stm32"
+CONFIG_ARCH_HAVE_CMNVECTOR=y
+# CONFIG_ARMV7M_CMNVECTOR is not set
# CONFIG_ARCH_FPU is not set
CONFIG_ARCH_HAVE_MPU=y
# CONFIG_ARMV7M_MPU is not set
@@ -87,8 +99,14 @@ CONFIG_BOARD_LOOPSPERMSEC=16717
# CONFIG_ARCH_CHIP_STM32F100CB is not set
# CONFIG_ARCH_CHIP_STM32F100R8 is not set
# CONFIG_ARCH_CHIP_STM32F100RB is not set
+# CONFIG_ARCH_CHIP_STM32F100RC is not set
+# CONFIG_ARCH_CHIP_STM32F100RD is not set
+# CONFIG_ARCH_CHIP_STM32F100RE is not set
# CONFIG_ARCH_CHIP_STM32F100V8 is not set
# CONFIG_ARCH_CHIP_STM32F100VB is not set
+# CONFIG_ARCH_CHIP_STM32F100VC is not set
+# CONFIG_ARCH_CHIP_STM32F100VD is not set
+# CONFIG_ARCH_CHIP_STM32F100VE is not set
# CONFIG_ARCH_CHIP_STM32F103RET6 is not set
# CONFIG_ARCH_CHIP_STM32F103VCT6 is not set
# CONFIG_ARCH_CHIP_STM32F103VET6 is not set
@@ -121,14 +139,14 @@ CONFIG_STM32_CODESOURCERYL=y
# CONFIG_STM32_ADC1 is not set
# CONFIG_STM32_ADC2 is not set
# CONFIG_STM32_ADC3 is not set
-# CONFIG_STM32_CRC is not set
-# CONFIG_STM32_DMA1 is not set
-# CONFIG_STM32_DMA2 is not set
# CONFIG_STM32_BKPSRAM is not set
# CONFIG_STM32_CAN1 is not set
# CONFIG_STM32_CAN2 is not set
# CONFIG_STM32_CCMDATARAM is not set
+# CONFIG_STM32_CRC is not set
# CONFIG_STM32_CRYP is not set
+# CONFIG_STM32_DMA1 is not set
+# CONFIG_STM32_DMA2 is not set
# CONFIG_STM32_DAC1 is not set
# CONFIG_STM32_DAC2 is not set
# CONFIG_STM32_DCMI is not set
@@ -387,6 +405,7 @@ CONFIG_SYMTAB_ORDEREDBYNAME=y
CONFIG_STDIO_BUFFER_SIZE=256
CONFIG_STDIO_LINEBUFFER=y
CONFIG_NUNGET_CHARS=2
+# CONFIG_LIBM is not set
# CONFIG_NOPRINTF_FIELDWIDTH is not set
# CONFIG_LIBC_FLOATINGPOINT is not set
# CONFIG_EOL_IS_CR is not set
@@ -399,9 +418,11 @@ CONFIG_ARCH_LOWPUTC=y
CONFIG_LIB_SENDFILE_BUFSIZE=512
# CONFIG_ARCH_ROMGETC is not set
# CONFIG_ARCH_OPTIMIZED_FUNCTIONS is not set
+
+#
+# Basic CXX Support
+#
# CONFIG_HAVE_CXX is not set
-# CONFIG_HAVE_CXXINITIALIZE is not set
-# CONFIG_CXX_NEWLONG is not set
#
# Application Configuration
@@ -415,267 +436,62 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512
#
# Examples
#
-
-#
-# ADC Example
-#
-
-#
-# Buttons Example
-#
# CONFIG_EXAMPLES_BUTTONS is not set
-
-#
-# CAN Example
-#
# CONFIG_EXAMPLES_CAN is not set
-
-#
-# USB CDC/ACM Class Driver Example
-#
# CONFIG_EXAMPLES_CDCACM is not set
-
-#
-# USB composite Class Driver Example
-#
# CONFIG_EXAMPLES_COMPOSITE is not set
-
-#
-# DHCP Server Example
-#
# CONFIG_EXAMPLES_DHCPD is not set
-
-#
-# ELF Loader Example
-#
# CONFIG_EXAMPLES_ELF is not set
-
-#
-# FTP Client Example
-#
# CONFIG_EXAMPLES_FTPC is not set
-
-#
-# FTP Server Example
-#
# CONFIG_EXAMPLES_FTPD is not set
-
-#
-# "Hello, World!" Example
-#
# CONFIG_EXAMPLES_HELLO is not set
-
-#
-# "Hello, World!" C++ Example
-#
# CONFIG_EXAMPLES_HELLOXX is not set
-
-#
-# USB HID Keyboard Example
-#
+# CONFIG_EXAMPLES_JSON is not set
# CONFIG_EXAMPLES_HIDKBD is not set
-
-#
-# IGMP Example
-#
# CONFIG_EXAMPLES_IGMP is not set
-
-#
-# LCD Read/Write Example
-#
# CONFIG_EXAMPLES_LCDRW is not set
-
-#
-# Memory Management Example
-#
# CONFIG_EXAMPLES_MM is not set
-
-#
-# File System Mount Example
-#
# CONFIG_EXAMPLES_MOUNT is not set
-
-#
-# FreeModBus Example
-#
# CONFIG_EXAMPLES_MODBUS is not set
-
-#
-# Network Test Example
-#
# CONFIG_EXAMPLES_NETTEST is not set
-
-#
-# NuttShell (NSH) Example
-#
# CONFIG_EXAMPLES_NSH is not set
-
-#
-# NULL Example
-#
# CONFIG_EXAMPLES_NULL is not set
-
-#
-# NX Graphics Example
-#
# CONFIG_EXAMPLES_NX is not set
-
-#
-# NxConsole Example
-#
# CONFIG_EXAMPLES_NXCONSOLE is not set
-
-#
-# NXFFS File System Example
-#
# CONFIG_EXAMPLES_NXFFS is not set
-
-#
-# NXFLAT Example
-#
# CONFIG_EXAMPLES_NXFLAT is not set
-
-#
-# NX Graphics "Hello, World!" Example
-#
# CONFIG_EXAMPLES_NXHELLO is not set
-
-#
-# NX Graphics image Example
-#
# CONFIG_EXAMPLES_NXIMAGE is not set
-
-#
-# NX Graphics lines Example
-#
# CONFIG_EXAMPLES_NXLINES is not set
-
-#
-# NX Graphics Text Example
-#
# CONFIG_EXAMPLES_NXTEXT is not set
-
-#
-# OS Test Example
-#
CONFIG_EXAMPLES_OSTEST=y
# CONFIG_EXAMPLES_OSTEST_BUILTIN is not set
CONFIG_EXAMPLES_OSTEST_LOOPS=1
CONFIG_EXAMPLES_OSTEST_STACKSIZE=2048
CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS=3
-
-#
-# Pascal "Hello, World!"example
-#
+CONFIG_EXAMPLES_OSTEST_RR_RANGE=10000
+CONFIG_EXAMPLES_OSTEST_RR_RUNS=10
# CONFIG_EXAMPLES_PASHELLO is not set
-
-#
-# Pipe Example
-#
# CONFIG_EXAMPLES_PIPE is not set
-
-#
-# Poll Example
-#
# CONFIG_EXAMPLES_POLL is not set
-
-#
-# Pulse Width Modulation (PWM) Example
-#
-
-#
-# Quadrature Encoder Example
-#
# CONFIG_EXAMPLES_QENCODER is not set
-
-#
-# RGMP Example
-#
# CONFIG_EXAMPLES_RGMP is not set
-
-#
-# ROMFS Example
-#
# CONFIG_EXAMPLES_ROMFS is not set
-
-#
-# sendmail Example
-#
# CONFIG_EXAMPLES_SENDMAIL is not set
-
-#
-# Serial Loopback Example
-#
# CONFIG_EXAMPLES_SERLOOP is not set
-
-#
-# Telnet Daemon Example
-#
# CONFIG_EXAMPLES_TELNETD is not set
-
-#
-# THTTPD Web Server Example
-#
# CONFIG_EXAMPLES_THTTPD is not set
-
-#
-# TIFF Generation Example
-#
# CONFIG_EXAMPLES_TIFF is not set
-
-#
-# Touchscreen Example
-#
# CONFIG_EXAMPLES_TOUCHSCREEN is not set
-
-#
-# UDP Example
-#
# CONFIG_EXAMPLES_UDP is not set
-
-#
-# UDP Discovery Daemon Example
-#
-
-#
-# uIP Web Server Example
-#
# CONFIG_EXAMPLES_UIP is not set
-
-#
-# USB Serial Test Example
-#
# CONFIG_EXAMPLES_USBSERIAL is not set
-
-#
-# USB Mass Storage Class Example
-#
# CONFIG_EXAMPLES_USBMSC is not set
-
-#
-# USB Serial Terminal Example
-#
# CONFIG_EXAMPLES_USBTERM is not set
-
-#
-# Watchdog timer Example
-#
# CONFIG_EXAMPLES_WATCHDOG is not set
-
-#
-# wget Example
-#
-
-#
-# WLAN Example
-#
# CONFIG_EXAMPLES_WLAN is not set
#
-# XML RPC Example
-#
-
-#
# Interpreters
#
@@ -692,75 +508,21 @@ CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS=3
#
# Networking Utilities
#
-
-#
-# DHCP client
-#
+# CONFIG_NETUTILS_CODECS is not set
# CONFIG_NETUTILS_DHCPC is not set
-
-#
-# DHCP server
-#
# CONFIG_NETUTILS_DHCPD is not set
-
-#
-# FTP client
-#
# CONFIG_NETUTILS_FTPC is not set
-
-#
-# FTP server
-#
# CONFIG_NETUTILS_FTPD is not set
-
-#
-# Name resolution
-#
+# CONFIG_NETUTILS_JSON is not set
# CONFIG_NETUTILS_RESOLV is not set
-
-#
-# SMTP
-#
# CONFIG_NETUTILS_SMTP is not set
-
-#
-# TFTP client
-#
# CONFIG_NETUTILS_TELNETD is not set
-
-#
-# TFTP client
-#
# CONFIG_NETUTILS_TFTPC is not set
-
-#
-# THTTPD web server
-#
# CONFIG_NETUTILS_THTTPD is not set
-
-#
-# uIP support library
-#
# CONFIG_NETUTILS_UIPLIB is not set
-
-#
-# uIP web client
-#
# CONFIG_NETUTILS_WEBCLIENT is not set
#
-# uIP web server
-#
-
-#
-# UDP Discovery Utility
-#
-
-#
-# XML-RPC library
-#
-
-#
# ModBus
#
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;
-}
-
diff --git a/nuttx/libxx/Makefile b/nuttx/libxx/Makefile
index 584af4e96..db5675ce7 100644
--- a/nuttx/libxx/Makefile
+++ b/nuttx/libxx/Makefile
@@ -82,7 +82,7 @@ CXXOBJS = $(CXXSRCS:.cxx=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS) $(CXXSRCS)
OBJS = $(AOBJS) $(COBJS) $(CXXOBJS)
-BIN = liblibxx$(LIBEXT)
+BIN = libcxx$(LIBEXT)
all: $(BIN)