Expand description
ArceOS user program library for C apps.
§Cargo Features
- CPU
smp
: Enable SMP (symmetric multiprocessing) support.fp_simd
: Enable floating point and SIMD support.
- Interrupts:
irq
: Enable interrupt handling support.
- Memory
alloc
: Enable dynamic memory allocation.tls
: Enable thread-local storage.
- Task management
multitask
: Enable multi-threading support.
- Upperlayer stacks
fs
: Enable file system support.net
: Enable networking support.
- Lib C functions
Functions§
- Abort the current process.
- accept⚠
net
Accept for connections on a socket - ax_fcntl⚠
fd
Manipulate file descriptor. - ax_open⚠
fs
Open a file byfilename
and insert it into the file descriptor table. - bind⚠
net
Bind a address to a socket. - Get clock time since booting
- close⚠
fd
Close a file byfd
. - connect⚠
net
Connects the socket to the address specified. - dup⚠
fd
Duplicate a file descriptor. - dup2⚠
fd
Duplicate a file descriptor, use file descriptor specified innew_fd
. - dup3⚠
fd
Duplicate a file descriptor, the caller can force the close-on-exec flag to be set for the new file descriptor by specifyingO_CLOEXEC
in flags. - epoll_create⚠(
select
orepoll
) andepoll
Creates a new epoll instance. - epoll_ctl⚠(
select
orepoll
) andepoll
Control interface for an epoll file descriptor - epoll_wait⚠(
select
orepoll
) andepoll
Waits for events on the epoll instance referred to by the file descriptor epfd. - exit⚠Exits the current thread.
- free⚠
alloc
Deallocate memory. - freeaddrinfo⚠
net
Free queriedaddrinfo
struct - fstat⚠
fs
Get file metadata byfd
and write intobuf
. - getaddrinfo⚠
net
Query addresses for a domain name. - getcwd⚠
fs
Get the path of the current directory. - getpeername⚠
net
Get peer address to which the socket sockfd is connected. - Get current thread ID.
- Get resource limitations
- getsockname⚠
net
Get current address to which the socket sockfd is bound. - listen⚠
net
Listen for connections on a socket longjmp
implementation- lseek⚠
fs
Set the position of the file indicated byfd
. - lstat⚠
fs
Get the metadata of the symbolic link and write intobuf
. - malloc⚠
alloc
Allocate memory and return the memory address. - Convert broken-down time into time since the Epoch.
- Sleep some nanoseconds
- pipe⚠
pipe
Create a pipe - pthread_create⚠
multitask
Create a new thread with the given entry point and argument. - pthread_exit⚠
multitask
Exits the current thread. The valueretval
will be returned to the joiner. - pthread_join⚠
multitask
Waits for the given thread to exit, and stores the return value inretval
. - pthread_mutex_init⚠
multitask
Initialize a mutex. - pthread_mutex_lock⚠
multitask
Lock the given mutex. - pthread_mutex_unlock⚠
multitask
Unlock the given mutex. - pthread_self⚠
multitask
Returns thepthread
struct of current thread. - rand⚠Returns a 32-bit unsigned pseudo random interger.
- Returns a 64-bit unsigned pseudo random number.
- read⚠Read data from the file indicated by
fd
. - recv⚠
net
Receive a message on a socket. - recvfrom⚠
net
Receive a message on a socket and get its source address. - rename⚠
fs
Renameold
tonew
If new exists, it is first removed. - select⚠(
select
orepoll
) andselect
Monitor multiple file descriptors, waiting until one or more of the file descriptors become “ready” for some class of I/O operation - send⚠
net
Send a message on a socket to the address connected. - sendto⚠
net
Send a message on a socket to the address specified. setjmp
implementation- Set resource limitations
- shutdown⚠
net
Shut down a full-duplex connection. - socket⚠
net
Create an socket for communication. - Sets the seed for the random number generator.
- stat⚠
fs
Get the file metadata bypath
and write intobuf
. - Returns a pointer to the string representation of the given error code.
- strftime⚠
alloc
Convert date and time to a string. - strtod⚠
fp_simd
Convert a string to a double-precision number. - strtof⚠
fp_simd
Convert a string to a float number. - Return system configuration infomation
- Write data to the file indicated by
fd
. - Write a vector.