Crate axlibc

Source
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
    • fd: Enable file descriptor table.
    • pipe: Enable pipe support.
    • select: Enable synchronous I/O multiplexing (select) support.
    • epoll: Enable event polling (epoll) support.

Functions§

abort⚠
Abort the current process.
accept⚠
Accept for connections on a socket
ax_fcntl⚠
Manipulate file descriptor.
ax_open⚠
Open a file by filename and insert it into the file descriptor table.
bind⚠
Bind a address to a socket.
clock_gettime⚠
Get clock time since booting
close⚠
Close a file by fd.
connect⚠
Connects the socket to the address specified.
dup⚠
Duplicate a file descriptor.
dup2⚠
Duplicate a file descriptor, use file descriptor specified in new_fd.
dup3⚠
Duplicate a file descriptor, the caller can force the close-on-exec flag to be set for the new file descriptor by specifying O_CLOEXEC in flags.
epoll_create⚠
Creates a new epoll instance.
epoll_ctl⚠
Control interface for an epoll file descriptor
epoll_wait⚠
Waits for events on the epoll instance referred to by the file descriptor epfd.
exit⚠
Exits the current thread.
free⚠
Deallocate memory.
freeaddrinfo⚠
Free queried addrinfo struct
fstat⚠
Get file metadata by fd and write into buf.
getaddrinfo⚠
Query addresses for a domain name.
getcwd⚠
Get the path of the current directory.
getpeername⚠
Get peer address to which the socket sockfd is connected.
getpid⚠
Get current thread ID.
getrlimit⚠
Get resource limitations
getsockname⚠
Get current address to which the socket sockfd is bound.
listen⚠
Listen for connections on a socket
longjmp⚠
longjmp implementation
lseek⚠
Set the position of the file indicated by fd.
lstat⚠
Get the metadata of the symbolic link and write into buf.
malloc⚠
Allocate memory and return the memory address.
mktime⚠
Convert broken-down time into time since the Epoch.
nanosleep⚠
Sleep some nanoseconds
pipe⚠
Create a pipe
pthread_create⚠
Create a new thread with the given entry point and argument.
pthread_exit⚠
Exits the current thread. The value retval will be returned to the joiner.
pthread_join⚠
Waits for the given thread to exit, and stores the return value in retval.
pthread_mutex_init⚠
Initialize a mutex.
pthread_mutex_lock⚠
Lock the given mutex.
pthread_mutex_unlock⚠
Unlock the given mutex.
pthread_self⚠
Returns the pthread struct of current thread.
rand⚠
Returns a 32-bit unsigned pseudo random interger.
random⚠
Returns a 64-bit unsigned pseudo random number.
read⚠
Read data from the file indicated by fd.
recv⚠
Receive a message on a socket.
recvfrom⚠
Receive a message on a socket and get its source address.
rename⚠
Rename old to new If new exists, it is first removed.
select⚠
Monitor multiple file descriptors, waiting until one or more of the file descriptors become “ready” for some class of I/O operation
send⚠
Send a message on a socket to the address connected.
sendto⚠
Send a message on a socket to the address specified.
setjmp⚠
setjmp implementation
setrlimit⚠
Set resource limitations
shutdown⚠
Shut down a full-duplex connection.
socket⚠
Create an socket for communication.
srand⚠
Sets the seed for the random number generator.
stat⚠
Get the file metadata by path and write into buf.
strerror⚠
Returns a pointer to the string representation of the given error code.
strftime⚠
Convert date and time to a string.
strtod⚠
Convert a string to a double-precision number.
strtof⚠
Convert a string to a float number.
sysconf⚠
Return system configuration infomation
write⚠
Write data to the file indicated by fd.
writev⚠
Write a vector.