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.