My favorites | Sign in
Project Home Issues Source
Repository:
Checkout   Browse   Changes   Clones    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
AVAILABLE POSIX FUNCTIONS
* 1003.1a
* execv, execve, execl
-. Limitations :
-. no environment variables

* vfork

* pause

* waitpid

* sigemptyset, sigfillset, sigaddset, sigdelset, sigismember
-. in multithreaded context, this is applied to calling thread.

* sigpending
-. in multithreaded context, it gets pending mask of calling thread

* sigaction
-. in multithreaded context, it is applied to calling thread
-. available standard signals : SIGABRT, SIGALRM, SIGFPE, SIGHUP
SIGILL, SIGINT, SIGQUIT, SIGPIPE, SIGKILL, SIGSEGV, SIGTERM, SIGUSR1, SIGUSR2,
SIGCHLD
-. Limitations :
-. SA_SIGINFO flag not available

* kill, raise
-. Limitations :
-. not available now for Cortex-M4
-. pid < -1 not handle
-. in multithreaded context, the signal is only caught by the first thread which
doesn't mask it and doesn't ignore it.

* open, create
-. available flags : O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, O_CREAT, O_EXCL,
O_NONBLOCK and O_NDELAY
-. Limitations :
-. no mode available (set it to 0)

* close, lseek

* read, write
-. Limitations :
-. signal handling doesn't set EINTR in errno and doesn't stop read process as expect by
POSIX.
-. after a write call, offset pointer need to be reset to read previous written data.

* fcntl
-. Limitations :
-. F_GETFD flag not available
-. cooperate locking (lock all file content)

* ioctl

* dup, dup2

* select, FD_CLR, FD_SET, FD_ZERO, FD_ISSET
-. Limitations :
-. only work for character devices (like serial, ...)
-. exceptfds not supported
-. maximum of 64 descriptors

* ftruncate, truncate
-. Limitations :
-. extend file size with msdos and vfat fs only
-. offset pointer is egal to file size (not expected by POSIX)

* fstat, stat
-. available macros type : S_ISREG(mode), S_ISDIR(mode), S_ISCHR(mode), S_ISBLK(mode), S_ISFIFO(mode)
-. Limitations :
-. symlink not available

* pipe, mkfifo
-. Limitations :
-. no mode available (set it to 0)

* rename
-. Limitations :
-. only last part of pathname can be change. can't move file across directories

* remove

* mkdir
-. Limitations
-. no mode available (set it to 0)

* chdir, rmdir

* getcwd

* opendir, closedir

* readdir, readdir_r, readdir2
-. need to replace readdir by readdir2
-. d_name is not the last field of structure dirent_t

* telldir, rewinddir, seekdir

* exit
-. Limitations
-. _exit is not available
-. flushing not available on stdio descriptors

* system
-. not really useful now

* stime, time, asctime, asctime_r, ctime, ctime_r, gmtime, gmtime_r, localtime, localtime_r,
mktime
-. Limitations
-. time zones are not supported (tm_isdst is useless)

* difftime, settimeofday, gettimeofday
-. Limitations
-. tzp is useless

* strftime
-. Limitations
-. %F, %G, %g, %h, %O, %V, %Z, %z and %+ are not supported

* setpgid, getpgrp, getpgrp2
-. getpgrp2() is equivalent to getpgid()

* mknod
-. Limitations
-. no mode available (set it to 0)

* fattach, fdetach
-. need to implement isastream

* accept, bind, shutdown, connect, getsockname, getpeername, setsockopt, getsockopt,
listen, recv, recvfrom, send, sendto, socket, gethostbyname

* 1003.1b, 1003.1c
* pthread_create
-. thread is created with attributes PTHREAD_CANCEL_ENABLE, PTHREAD_CANCEL_ASYNCHRONOUS

* pthread_cancel, pthread_exit
-. threads are directly destroyed
-. Limitations
-. pthread_join not available

* pthread_self

* sigwaitinfo, sigtimedwait
-. Limitations
-. only real time signals can use these functions (for now).

* pthread_mutex_init, pthread_mutex_destroy
-. default_pthread_mutex = PTHREAD_MUTEX_INITIALIZER
-. no recursive mutex for eCos version
-. mutex must be unlock before destruction

* pthread_mutex_lock, pthread_mutex_unlock, pthread_mutex_trylock
-. Limitations
-. pthread_mutex_unlock should not be call on an unlock mutex

* pthread_cond_init, pthread_cond_destroy
-. default_pthread_cond = PTHREAD_COND_INITIALIZER
-. before pthread_cond_destroy no thread have to be wait on this condition

* pthread_cond_wait, pthread_cond_signal, pthread_cond_broadcast

* timer_create, timer_delete
-. Limitations
-. only CLOCK_REALTIME is available for clockid

* timer_settime, timer_gettime
-. Limitations
-. TIMER_ABSTIME not available
-. timer_getoverrun not available

* clock_gettime
-. CLOCK_MONOTONIC returns number of ticks since system startup
-. Limitations
-. CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID not available

* sem_init, sem_destroy
-. before sem_destroy no thread have to be wait on this semaphore
-. Limitations
-. no pshared available (set it to 0)
-. can't re-init semaphore before destroy it

* sem_wait, sem_timedwait, sem_trywait, sem_getvalue

* mq_open, mq_unlink, mq_close
-. Limitations
-. no mode available (set it to 0)

* mq_getattr, mq_setattr
-. Limitations
-. mq_flags can be 0 or O_NONBLOCK

* mq_receive, mq_timedreceive, mq_send, mq_timedsend

* CUSTOM
* mount, umount

* NOT SUPPORTED BUT PRESENT FOR COMPATIBILITY
* chmod, access

Change log

b6303824e803 by lepton.jjp <lepton.jjp> on Feb 14, 2012   Diff
add minimum documentation for available
POSIX functions
Go to: 
Project members, sign in to write a code review

Older revisions

6d4910a03e95 by lepton.jjp <lepton.jjp> on Feb 13, 2012   Diff
add minimum documentation for
available POSIX functions
All revisions of this file

File info

Size: 5774 bytes, 199 lines
Powered by Google Project Hosting