VSF Documented
Data Structures | Macros | Typedefs | Functions | Variables
vsf_linux.c File Reference
#include "./vsf_linux_cfg.h"
#include "./include/unistd.h"
#include "./include/sched.h"
#include "./include/pty.h"
#include "./include/semaphore.h"
#include "./include/signal.h"
#include "./include/sys/wait.h"
#include "./include/sys/ipc.h"
#include "./include/sys/sem.h"
#include "./include/sys/mman.h"
#include "./include/sys/shm.h"
#include "./include/sys/random.h"
#include "./include/sys/stat.h"
#include "./include/sys/times.h"
#include "./include/sys/prctl.h"
#include "./include/sys/reboot.h"
#include "./include/sys/capability.h"
#include "./include/sys/timex.h"
#include "./include/sys/resource.h"
#include "./include/sys/sysinfo.h"
#include "./include/sys/xattr.h"
#include "./include/fcntl.h"
#include "./include/errno.h"
#include "./include/termios.h"
#include "./include/pwd.h"
#include "./include/sys/utsname.h"
#include "./include/sys/ioctl.h"
#include "./include/spawn.h"
#include "./include/langinfo.h"
#include "./include/poll.h"
#include "./include/dlfcn.h"
#include "./include/grp.h"
#include "./include/fnmatch.h"
#include "./include/linux/limits.h"
#include "./include/linux/futex.h"
#include <stdarg.h>
#include "./include/simple_libc/stdlib.h"
#include "./include/simple_libc/string.h"
#include "./include/simple_libc/stdio.h"
#include "./include/simple_libc/ctype.h"
#include "./include/simple_libc/setjmp/setjmp.h"
#include "./kernel/fs/vsf_linux_fs.h"
#include "./include/pthread.h"
#include "./include/sys/epoll.h"
#include "./include/sys/eventfd.h"
#include "./include/sys/sendfile.h"
#include "./include/sys/file.h"
#include "./include/sys/event.h"
#include "./include/sys/statfs.h"
#include "./include/sys/sysmacros.h"
#include "./include/sys/statvfs.h"
#include "./include/netdb.h"
#include "./include/libusb/libusb.h"
#include "./include/ifaddrs.h"
#include "./include/arpa/inet.h"
#include "./include/net/if.h"
#include "./include/libgen.h"
#include "./include/mntent.h"
#include "./include/findprog.h"
#include "./include/glob.h"
#include "./include/regex.h"
#include "./include/simple_libc/math/math.h"

Data Structures

struct  vsf_linux_shm_mem_t
 
struct  vsf_linux_sem_t
 
struct  vsf_linux_sem_set_t
 
struct  vsf_linux_t
 
struct  vsf_linux_process_heap_t
 

Macros

#define __VSF_EDA_CLASS_INHERIT__
 
#define __VSF_SIMPLE_STREAM_CLASS_INHERIT__
 
#define __VSF_FS_CLASS_INHERIT__
 
#define __VSF_FS_CLASS_INHERIT__
 
#define __VSF_HEAP_CLASS_INHERIT__
 
#define __VSF_LINUX_FS_CLASS_IMPLEMENT
 
#define __VSF_LINUX_CLASS_IMPLEMENT
 
#define __SIMPLE_LIBC_SETJMP_VPLT_ONLY__
 
#define __copy2output(__str_from, __copylen)
 
#define __SIMPLE_LIBC_MATH_VPLT_ONLY__
 

Typedefs

typedef struct vsf_linux_shm_mem_t vsf_linux_shm_mem_t
 
typedef struct vsf_linux_sem_t vsf_linux_sem_t
 
typedef struct vsf_linux_sem_set_t vsf_linux_sem_set_t
 
typedef struct vsf_linux_t vsf_linux_t
 
typedef struct vsf_linux_process_heap_t vsf_linux_process_heap_t
 

Functions

int vsf_linux_create_fhs (void)
 
void vsf_linux_glibc_init (void)
 
int __vsf_linux_fd_create_ex (vsf_linux_process_t *process, vsf_linux_fd_t **sfd, const vsf_linux_fd_op_t *op, int fd_desired, vsf_linux_fd_priv_t *priv)
 
vsf_linux_fd_t__vsf_linux_fd_get_ex (vsf_linux_process_t *process, int fd)
 
void __vsf_linux_fd_delete_ex (vsf_linux_process_t *process, int fd)
 
void ____vsf_linux_fd_delete_ex (vsf_linux_process_t *process, vsf_linux_fd_t *sfd)
 
int __vsf_linux_fd_close_ex (vsf_linux_process_t *process, int fd)
 
int ____vsf_linux_fd_close_ex (vsf_linux_process_t *process, vsf_linux_fd_t *sfd)
 
vk_file_t__vsf_linux_get_fs_ex (vsf_linux_process_t *process, int fd)
 
void __vsf_linux_rx_stream_init (vsf_linux_stream_priv_t *priv_tx)
 
void __vsf_linux_tx_stream_init (vsf_linux_stream_priv_t *priv_rx)
 
void __vsf_linux_tx_stream_drop (vsf_linux_stream_priv_t *priv_tx)
 
void __vsf_linux_rx_stream_drop (vsf_linux_stream_priv_t *priv_rx)
 
void __vsf_linux_tx_stream_drain (vsf_linux_stream_priv_t *priv_tx)
 
void __vsf_linux_stream_evt (vsf_linux_stream_priv_t *priv, vsf_protect_t orig, short event, bool is_ready)
 
void __vsf_eda_sync_pend (vsf_sync_t *sync, vsf_eda_t *eda, vsf_timeout_tick_t timeout)
 
vsf_linux_process_tvsf_linux_get_real_process (vsf_linux_process_t *process)
 
int vsf_linux_merge_env (vsf_linux_process_t *process, char **env)
 
void vsf_linux_free_env (vsf_linux_process_t *process)
 
void vsf_linux_trigger_init (vsf_linux_trigger_t *trig)
 
int vsf_linux_trigger_signal (vsf_linux_trigger_t *trig, int sig)
 
int vsf_linux_trigger_pend (vsf_linux_trigger_t *trig, vsf_timeout_tick_t timeout)
 
int vsf_linux_create_fhs_user (void)
 
int * __vsf_linux_errno (void)
 
int vsf_linux_generate_path (char *path_out, int path_out_lenlen, char *dir, char *path_in)
 
void __vsf_linux_process_free_arg (vsf_linux_process_t *process)
 
int __vsf_linux_process_parse_arg (vsf_linux_process_t *process, vsf_linux_process_arg_t *arg, char *const *argv)
 
vsf_eda_tvsf_linux_get_kernel_task (void)
 
vsf_linux_process_tvsf_linux_resources_process (void)
 
void * vsf_linux_malloc_res (size_t size)
 
void vsf_linux_free_res (void *ptr)
 
bool vsf_linux_is_inited (void)
 
vsf_err_t vsf_linux_init (vsf_linux_stdio_stream_t *stdio_stream)
 
int isatty (int fd)
 
int ttyname_r (int fd, char *buf, size_t buflen)
 
char * ttyname (int fd)
 
vsf_linux_thread_tvsf_linux_create_raw_thread (const vsf_linux_thread_op_t *op, int stack_size, void *stack)
 
vsf_linux_thread_tvsf_linux_create_thread (vsf_linux_process_t *process, const vsf_linux_thread_op_t *op, int stack_size, void *stack)
 
int vsf_linux_start_thread (vsf_linux_thread_t *thread, vsf_prio_t priority)
 
size_t vsf_linux_process_heap_size (vsf_linux_process_t *process, void *buffer)
 
void * vsf_linux_process_heap_realloc (vsf_linux_process_t *process, void *buffer, uint_fast32_t size)
 
void * vsf_linux_process_heap_malloc_aligned (vsf_linux_process_t *process, uint_fast32_t size, uint_fast32_t alignment)
 
void * vsf_linux_process_heap_malloc (vsf_linux_process_t *process, size_t size)
 
void * vsf_linux_process_heap_calloc (vsf_linux_process_t *process, size_t n, size_t size)
 
void vsf_linux_process_heap_free (vsf_linux_process_t *process, void *buffer)
 
char * vsf_linux_process_heap_strdup (vsf_linux_process_t *process, char *str)
 
void * __vsf_linux_get_process_priv (vsf_linux_process_t *process)
 
vsf_linux_process_tvsf_linux_create_process (int stack_size, int heap_size, int priv_size)
 
int vsf_linux_start_process (vsf_linux_process_t *process)
 
void vsf_linux_cleanup_process (vsf_linux_process_t *process)
 
void vsf_linux_delete_process (vsf_linux_process_t *process)
 
VSF_CAL_NO_RETURN void vsf_linux_exit_process (int status, bool _exit)
 
VSF_CAL_NO_RETURN void _exit (int status)
 
int acct (const char *filename)
 
uintptr_t vsf_linux_set_process_reg (uintptr_t reg)
 
vsf_linux_process_t__vsf_linux_start_process_internal (vsf_linux_main_entry_t entry, char *const *argv, int stack_size, vsf_prio_t prio)
 
vsf_linux_process_tvsf_linux_get_process (pid_t pid)
 
vsf_linux_thread_tvsf_linux_get_thread (pid_t pid, int tid)
 
bool vsf_linux_is_linux_ctx (vsf_linux_thread_t *thread)
 
vsf_linux_thread_tvsf_linux_get_cur_thread (void)
 
vsf_linux_process_tvsf_linux_get_cur_process (void)
 
void vsf_linux_thread_on_terminate (vsf_linux_thread_t *thread)
 
void vsf_linux_attach_process (vsf_linux_process_t *process, vsf_linux_process_t *parent_process)
 
void vsf_linux_detach_process (vsf_linux_process_t *process)
 
void vsf_linux_detach_thread (vsf_linux_thread_t *thread)
 
int vsf_linux_wait_thread (int tid, int *retval)
 
int daemon (int nochdir, int noclose)
 
int __vsf_linux_get_exe (char *pathname, int pathname_len, char *cmd, vsf_linux_main_entry_t *entry, bool use_path)
 
const char * find_in_path (const char *progname)
 
const char * find_in_given_path (const char *progname, const char *path, const char *directory, bool optimize_for_exec)
 
int __vsf_linux_script_main (int argc, char **argv)
 
int __vsf_linux_dynloader_main (int argc, char **argv)
 
exec_ret_t execvpe (const char *file, char *const *argv, char *const *envp)
 
exec_ret_t execvp (const char *file, char *const *argv)
 
exec_ret_t execve (const char *pathname, char *const *argv, char *const *envp)
 
exec_ret_t execv (const char *pathname, char *const *argv)
 
exec_ret_t __execlp_va (const char *pathname, const char *arg, va_list ap)
 
exec_ret_t execlp (const char *pathname, const char *arg,...)
 
exec_ret_t __execl_va (const char *pathname, const char *arg, va_list ap, bool has_env)
 
exec_ret_t execl (const char *pathname, const char *arg,...)
 
exec_ret_t execle (const char *pathname, const char *arg,...)
 
long sysconf (int name)
 
long fpathconf (int fd, int name)
 
long pathconf (const char *path, int name)
 
int pipe (int pipefd[2])
 
int pipe2 (int pipefd[2], int flags)
 
int kill (pid_t pid, int sig)
 
int sigaction (int signum, const struct sigaction *act, struct sigaction *oldact)
 
int sigwaitinfo (const sigset_t *set, siginfo_t *info)
 
int sigtimedwait (const sigset_t *set, siginfo_t *info, const struct signal_timespec *timeout)
 
int sigsuspend (const sigset_t *set)
 
sighandler_t signal (int signum, sighandler_t handler)
 
int raise (int sig)
 
useconds_t ualarm (useconds_t usecs, useconds_t interval)
 
unsigned int alarm (unsigned int seconds)
 
pid_t wait (int *status)
 
pid_t vsf_linux_waitpid (pid_t pid, int *status, int options, bool cleanup)
 
pid_t waitpid (pid_t pid, int *status, int options)
 
int waitid (idtype_t idtype, id_t id, siginfo_t *infop, int options)
 
char * getlogin (void)
 
int getlogin_r (char *buf, size_t bufsize)
 
int setgid (gid_t git)
 
gid_t getgid (void)
 
int setegid (gid_t egid)
 
gid_t getegid (void)
 
int setuid (uid_t uid)
 
uid_t getuid (void)
 
int seteuid (uid_t euid)
 
uid_t geteuid (void)
 
pid_t getpid (void)
 
pid_t getppid (void)
 
pid_t setsid (void)
 
pid_t getsid (pid_t pid)
 
int setpgid (pid_t pid, pid_t pgid)
 
pid_t getpgid (pid_t pid)
 
int setpgrp (void)
 
pid_t getpgrp (void)
 
int setresuid (uid_t ruid, uid_t euid, uid_t suid)
 
int setresgid (gid_t rgid, gid_t egid, gid_t sgid)
 
pid_t gettid (void)
 
int sigprocmask (int how, const sigset_t *set, sigset_t *oldset)
 
char * getcwd (char *buffer, size_t maxlen)
 
int vsf_linux_fs_get_executable (const char *pathname, vsf_linux_main_entry_t *entry)
 
int vsf_linux_fd_bind_executable (int fd, vsf_linux_main_entry_t entry)
 
int vsf_linux_fs_bind_executable (char *path, vsf_linux_main_entry_t entry)
 
char * getpass (const char *prompt)
 
vsf_systimer_tick_t vsf_linux_sleep (vsf_timeout_tick_t ticks)
 
int usleep (int usec)
 
unsigned sleep (unsigned sec)
 
int pause (void)
 
int chown (const char *pathname, uid_t owner, gid_t group)
 
int fchown (int fd, uid_t owner, gid_t group)
 
int lchown (const char *pathname, uid_t owner, gid_t group)
 
int fchownat (int dirfd, const char *pathname, uid_t owner, gid_t group, int flags)
 
size_t confstr (int name, char *buf, size_t len)
 
key_t ftok (const char *pathname, int id)
 
int __semctl_va (int semid, int semnum, int cmd, va_list ap)
 
int semctl (int semid, int semnum, int cmd,...)
 
int semget (key_t key, int nsems, int semflg)
 
int semtimedop (int semid, struct sembuf *sops, size_t nsops, const struct timespec *timeout)
 
int semop (int semid, struct sembuf *sops, size_t nsops)
 
int gettimeofday (struct timeval *tv, struct timezone *tz)
 
int settimeofday (const struct timeval *tv, const struct timezone *tz)
 
clock_t times (struct tms *buf)
 
int reboot (int howto)
 
int removexattr (const char *path, const char *name)
 
int lremovexattr (const char *path, const char *name)
 
int fremovexattr (int fd, const char *name)
 
int setxattr (const char *path, const char *name, const void *value, size_t size, int flags)
 
int lsetxattr (const char *path, const char *name, const void *value, size_t size, int flags)
 
int fsetxattr (int fd, const char *name, const void *value, size_t size, int flags)
 
ssize_t getxattr (const char *path, const char *name, void *value, size_t size)
 
ssize_t lgetxattr (const char *path, const char *name, void *value, size_t size)
 
ssize_t fgetxattr (int fd, const char *name, void *value, size_t size)
 
int capget (cap_user_header_t hdrp, cap_user_data_t datap)
 
int capset (cap_user_header_t hdrp, const cap_user_data_t datap)
 
long sys_futex (uint32_t *futex, int futex_op, uint32_t val, uintptr_t val2, uint32_t *futex2, uint32_t val3)
 
int prctl (int option, uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t arg5)
 
int shmget (key_t key, size_t size, int shmflg)
 
void * shmat (int shmid, const void *shmaddr, int shmflg)
 
int shmdt (const void *shmaddr)
 
int shmctl (int shmid, int cmd, struct shmid_ds *buf)
 
int sched_get_priority_max (int policy)
 
int sched_get_priority_min (int policy)
 
int sched_getparam (pid_t pid, struct sched_param *param)
 
int sched_setparam (pid_t pid, const struct sched_param *param)
 
int sched_getscheduler (pid_t pid)
 
int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param)
 
int sched_yield (void)
 
int openpty (int *amaster, int *aslave, char *name, const struct termios *termp, const struct winsize *winp)
 
int login_tty (int fd)
 
int uname (struct utsname *name)
 
size_t getpagesize (void)
 
int gethostname (char *name, size_t len)
 
int sethostname (const char *name, size_t len)
 
void * mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t off)
 
void * mmap (void *addr, size_t len, int prot, int flags, int fd, off_t off)
 
int msync (void *addr, size_t len, int flags)
 
int munmap (void *addr, size_t len)
 
int mprotect (void *addr, size_t len, int prot)
 
int shm_open (const char *name, int oflag, mode_t mode)
 
int shm_unlink (const char *name)
 
ssize_t getrandom (void *buf, size_t buflen, unsigned int flags)
 
int getentropy (void *buf, size_t length)
 
long gethostid (void)
 
int sethostid (long hostid)
 
int getdtablesize (void)
 
pid_t __vsf_linux_vfork_prepare (vsf_linux_process_t *parent_process)
 
pid_t fork (void)
 
dev_t makedev (unsigned int maj, unsigned int min)
 
unsigned int major (dev_t dev)
 
unsigned int minor (dev_t dev)
 
int __vsf_linux_spawn (pid_t *pid, vsf_linux_main_entry_t entry, const posix_spawn_file_actions_t *actions, const posix_spawnattr_t *attr, char *const argv[], char *const env[], void *priv, int priv_size)
 
int posix_spawnp (pid_t *pid, const char *file, const posix_spawn_file_actions_t *actions, const posix_spawnattr_t *attr, char *const argv[], char *const env[])
 
int posix_spawn (pid_t *pid, const char *path, const posix_spawn_file_actions_t *actions, const posix_spawnattr_t *attr, char *const argv[], char *const env[])
 
int posix_spawnattr_init (posix_spawnattr_t *attr)
 
int posix_spawnattr_destroy (posix_spawnattr_t *attr)
 
int posix_spawnattr_getsigdefault (const posix_spawnattr_t *attr, sigset_t *sigdefault)
 
int posix_spawnattr_setsigdefault (posix_spawnattr_t *attr, const sigset_t *sigdefault)
 
int posix_spawnattr_getsigmask (const posix_spawnattr_t *attr, sigset_t *sigmask)
 
int posix_spawnattr_setsigmask (posix_spawnattr_t *attr, const sigset_t *sigmask)
 
int posix_spawnattr_getflags (const posix_spawnattr_t *attr, short int *flags)
 
int posix_spawnattr_setflags (posix_spawnattr_t *attr, short int flags)
 
int posix_spawnattr_getpgroup (const posix_spawnattr_t *attr, pid_t *pgroup)
 
int posix_spawnattr_setpgroup (posix_spawnattr_t *attr, pid_t pgroup)
 
int posix_spawnattr_getschedpolicy (const posix_spawnattr_t *attr, int *schedpolicy)
 
int posix_spawnattr_setschedpolicy (posix_spawnattr_t *attr, int schedpolicy)
 
int posix_spawnattr_getschedparam (const posix_spawnattr_t *attr, struct sched_param *schedparam)
 
int posix_spawnattr_setschedparam (posix_spawnattr_t *attr, const struct sched_param *schedparam)
 
int posix_spawn_file_actions_init (posix_spawn_file_actions_t *actions)
 
int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *actions)
 
int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t *actions, int fd, const char *path, int oflag, mode_t mode)
 
int posix_spawn_file_actions_addclose (posix_spawn_file_actions_t *actions, int fd)
 
int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t *actions, int fd, int newfd)
 
int posix_spawn_file_actions_addchdir_np (posix_spawn_file_actions_t *actions, const char *path)
 
int posix_spawn_file_actions_addfchdir_np (posix_spawn_file_actions_t *actions, int fd)
 
int tcgetattr (int fd, struct termios *termios)
 
int tcsetattr (int fd, int optional_actions, const struct termios *termios)
 
pid_t tcgetpgrp (int fd)
 
int tcsetpgrp (int fd, pid_t pgrp)
 
int tcsendbreak (int fd, int duration)
 
int tcdrain (int fd)
 
int tcflush (int fd, int queue_selector)
 
int tcflow (int fd, int action)
 
void cfmakeraw (struct termios *termios)
 
speed_t cfgetispeed (const struct termios *termios)
 
speed_t cfgetospeed (const struct termios *termios)
 
int cfsetispeed (struct termios *termios, speed_t speed)
 
int cfsetospeed (struct termios *termios, speed_t speed)
 
int cfsetspeed (struct termios *termios, speed_t speed)
 
int vsf_linux_expandenv (const char *str, char *output, size_t bufflen)
 
char * nl_langinfo (nl_item item)
 
void vsf_linux_loader_keep_ram (void)
 
void * dlopen (const char *pathname, int mode)
 
int dlclose (void *handle)
 
void * dlsym (void *handle, const char *name)
 
char * dlerror (void)
 
struct passwdgetpwuid (uid_t uid)
 
struct passwdgetpwnam (const char *name)
 
int initgroups (const char *user, gid_t group)
 
int getgroups (size_t size, gid_t list[])
 
int setgroups (size_t size, const gid_t *list)
 
struct groupgetgrnam (const char *name)
 
struct groupgetgrgid (gid_t gid)
 
int getgrnam_r (const char *name, struct group *grp, char *buf, size_t buflen, struct group **result)
 
int getgrgid_r (gid_t gid, struct group *grp, char *buf, size_t buflen, struct group **result)
 
struct groupgetgrent (void)
 
void setgrent (void)
 
void endgrent (void)
 
int getpriority (int which, id_t who)
 
int setpriority (int which, id_t who, int prio)
 
int adjtimex (struct timex *buf)
 
int clock_adjtime (clockid_t clk_id, struct timex *buf)
 
int ntp_adjtime (struct timex *buf)
 
int sysinfo (struct sysinfo *info)
 

Variables

const vsf_linux_fd_op_t __vsf_linux_stream_fdop
 
__VSF_VPLT_DECORATOR__ vsf_linux_fundmental_vplt_t vsf_linux_fundmental_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_random_vplt_t vsf_linux_sys_random_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_shm_vplt_t vsf_linux_sys_shm_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_time_vplt_t vsf_linux_sys_time_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_times_vplt_t vsf_linux_sys_times_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_timex_vplt_t vsf_linux_sys_timex_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_utsname_vplt_t vsf_linux_sys_utsname_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_wait_vplt_t vsf_linux_sys_wait_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_capability_vplt_t vsf_linux_sys_capability_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_mman_vplt_t vsf_linux_sys_mman_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_resource_vplt_t vsf_linux_sys_resource_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_info_vplt_t vsf_linux_sys_info_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_prctl_vplt_t vsf_linux_sys_prctl_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_sem_vplt_t vsf_linux_sys_sem_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_signal_vplt_t vsf_linux_signal_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sched_vplt_t vsf_linux_sched_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_spawn_vplt_t vsf_linux_spawn_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_pty_vplt_t vsf_linux_pty_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_dlfcn_vplt_t vsf_linux_dlfcn_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_grp_vplt_t vsf_linux_grp_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_pwd_vplt_t vsf_linux_pwd_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_errno_vplt_t vsf_linux_errno_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_termios_vplt_t vsf_linux_termios_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_unistd_vplt_t vsf_linux_unistd_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_reboot_vplt_t vsf_linux_sys_reboot_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_xattr_vplt_t vsf_linux_sys_xattr_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_statfs_vplt_t vsf_linux_sys_statfs_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_sys_sysmacros_vplt_t vsf_linux_sys_sysmacros_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_findprog_vplt_t vsf_linux_findprog_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_glob_vplt_t vsf_linux_glob_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_regex_vplt_t vsf_linux_regex_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_fnmatch_vplt_t vsf_linux_fnmatch_vplt
 
__VSF_VPLT_DECORATOR__ vsf_linux_vplt_t vsf_linux_vplt
 

Macro Definition Documentation

◆ __VSF_EDA_CLASS_INHERIT__

#define __VSF_EDA_CLASS_INHERIT__

◆ __VSF_SIMPLE_STREAM_CLASS_INHERIT__

#define __VSF_SIMPLE_STREAM_CLASS_INHERIT__

◆ __VSF_FS_CLASS_INHERIT__ [1/2]

#define __VSF_FS_CLASS_INHERIT__

◆ __VSF_FS_CLASS_INHERIT__ [2/2]

#define __VSF_FS_CLASS_INHERIT__

◆ __VSF_HEAP_CLASS_INHERIT__

#define __VSF_HEAP_CLASS_INHERIT__

◆ __VSF_LINUX_FS_CLASS_IMPLEMENT

#define __VSF_LINUX_FS_CLASS_IMPLEMENT

◆ __VSF_LINUX_CLASS_IMPLEMENT

#define __VSF_LINUX_CLASS_IMPLEMENT

◆ __SIMPLE_LIBC_SETJMP_VPLT_ONLY__

#define __SIMPLE_LIBC_SETJMP_VPLT_ONLY__

◆ __copy2output

#define __copy2output (   __str_from,
  __copylen 
)
Value:
do { \
if (output != NULL) { \
tmplen = vsf_min(bufflen, __copylen); \
if (tmplen > 0) { \
memcpy(output, __str_from, tmplen); \
output += tmplen; \
} \
} \
envlen += __copylen; \
} while (false)
#define vsf_min(__a, __b)
Definition __type.h:152
#define NULL
Definition stddef.h:52

◆ __SIMPLE_LIBC_MATH_VPLT_ONLY__

#define __SIMPLE_LIBC_MATH_VPLT_ONLY__

Typedef Documentation

◆ vsf_linux_shm_mem_t

◆ vsf_linux_sem_t

◆ vsf_linux_sem_set_t

◆ vsf_linux_t

typedef struct vsf_linux_t vsf_linux_t

◆ vsf_linux_process_heap_t

Function Documentation

◆ vsf_linux_create_fhs()

int vsf_linux_create_fhs ( void  )
extern

◆ vsf_linux_glibc_init()

void vsf_linux_glibc_init ( void  )
extern

◆ __vsf_linux_fd_create_ex()

int __vsf_linux_fd_create_ex ( vsf_linux_process_t process,
vsf_linux_fd_t **  sfd,
const vsf_linux_fd_op_t op,
int  fd_desired,
vsf_linux_fd_priv_t priv 
)
extern

◆ __vsf_linux_fd_get_ex()

vsf_linux_fd_t * __vsf_linux_fd_get_ex ( vsf_linux_process_t process,
int  fd 
)
extern

◆ __vsf_linux_fd_delete_ex()

void __vsf_linux_fd_delete_ex ( vsf_linux_process_t process,
int  fd 
)
extern

◆ ____vsf_linux_fd_delete_ex()

void ____vsf_linux_fd_delete_ex ( vsf_linux_process_t process,
vsf_linux_fd_t sfd 
)
extern

◆ __vsf_linux_fd_close_ex()

int __vsf_linux_fd_close_ex ( vsf_linux_process_t process,
int  fd 
)
extern

◆ ____vsf_linux_fd_close_ex()

int ____vsf_linux_fd_close_ex ( vsf_linux_process_t process,
vsf_linux_fd_t sfd 
)
extern

◆ __vsf_linux_get_fs_ex()

vk_file_t * __vsf_linux_get_fs_ex ( vsf_linux_process_t process,
int  fd 
)
extern

◆ __vsf_linux_rx_stream_init()

void __vsf_linux_rx_stream_init ( vsf_linux_stream_priv_t *  priv_tx)
extern

◆ __vsf_linux_tx_stream_init()

void __vsf_linux_tx_stream_init ( vsf_linux_stream_priv_t *  priv_rx)
extern

◆ __vsf_linux_tx_stream_drop()

void __vsf_linux_tx_stream_drop ( vsf_linux_stream_priv_t *  priv_tx)
extern

◆ __vsf_linux_rx_stream_drop()

void __vsf_linux_rx_stream_drop ( vsf_linux_stream_priv_t *  priv_rx)
extern

◆ __vsf_linux_tx_stream_drain()

void __vsf_linux_tx_stream_drain ( vsf_linux_stream_priv_t *  priv_tx)
extern

◆ __vsf_linux_stream_evt()

void __vsf_linux_stream_evt ( vsf_linux_stream_priv_t *  priv,
vsf_protect_t  orig,
short  event,
bool  is_ready 
)
extern

◆ __vsf_eda_sync_pend()

void __vsf_eda_sync_pend ( vsf_sync_t sync,
vsf_eda_t eda,
vsf_timeout_tick_t  timeout 
)
extern

◆ vsf_linux_get_real_process()

vsf_linux_process_t * vsf_linux_get_real_process ( vsf_linux_process_t process)

◆ vsf_linux_merge_env()

int vsf_linux_merge_env ( vsf_linux_process_t process,
char **  env 
)

◆ vsf_linux_free_env()

void vsf_linux_free_env ( vsf_linux_process_t process)

◆ vsf_linux_trigger_init()

void vsf_linux_trigger_init ( vsf_linux_trigger_t trig)

◆ vsf_linux_trigger_signal()

int vsf_linux_trigger_signal ( vsf_linux_trigger_t trig,
int  sig 
)

◆ vsf_linux_trigger_pend()

int vsf_linux_trigger_pend ( vsf_linux_trigger_t trig,
vsf_timeout_tick_t  timeout 
)

◆ vsf_linux_create_fhs_user()

int vsf_linux_create_fhs_user ( void  )

◆ __vsf_linux_errno()

int * __vsf_linux_errno ( void  )

◆ vsf_linux_generate_path()

int vsf_linux_generate_path ( char *  path_out,
int  path_out_lenlen,
char *  dir,
char *  path_in 
)

◆ __vsf_linux_process_free_arg()

void __vsf_linux_process_free_arg ( vsf_linux_process_t process)

◆ __vsf_linux_process_parse_arg()

int __vsf_linux_process_parse_arg ( vsf_linux_process_t process,
vsf_linux_process_arg_t arg,
char *const *  argv 
)

◆ vsf_linux_get_kernel_task()

vsf_eda_t * vsf_linux_get_kernel_task ( void  )

◆ vsf_linux_resources_process()

vsf_linux_process_t * vsf_linux_resources_process ( void  )

◆ vsf_linux_malloc_res()

void * vsf_linux_malloc_res ( size_t  size)

◆ vsf_linux_free_res()

void vsf_linux_free_res ( void *  ptr)

◆ vsf_linux_is_inited()

bool vsf_linux_is_inited ( void  )

◆ vsf_linux_init()

vsf_err_t vsf_linux_init ( vsf_linux_stdio_stream_t stdio_stream)

◆ isatty()

int isatty ( int  fd)

◆ ttyname_r()

int ttyname_r ( int  fd,
char *  buf,
size_t  buflen 
)

◆ ttyname()

char * ttyname ( int  fd)

◆ vsf_linux_create_raw_thread()

vsf_linux_thread_t * vsf_linux_create_raw_thread ( const vsf_linux_thread_op_t op,
int  stack_size,
void *  stack 
)

◆ vsf_linux_create_thread()

vsf_linux_thread_t * vsf_linux_create_thread ( vsf_linux_process_t process,
const vsf_linux_thread_op_t op,
int  stack_size,
void *  stack 
)

◆ vsf_linux_start_thread()

int vsf_linux_start_thread ( vsf_linux_thread_t thread,
vsf_prio_t  priority 
)

◆ vsf_linux_process_heap_size()

size_t vsf_linux_process_heap_size ( vsf_linux_process_t process,
void *  buffer 
)

◆ vsf_linux_process_heap_realloc()

void * vsf_linux_process_heap_realloc ( vsf_linux_process_t process,
void *  buffer,
uint_fast32_t  size 
)

◆ vsf_linux_process_heap_malloc_aligned()

void * vsf_linux_process_heap_malloc_aligned ( vsf_linux_process_t process,
uint_fast32_t  size,
uint_fast32_t  alignment 
)

◆ vsf_linux_process_heap_malloc()

void * vsf_linux_process_heap_malloc ( vsf_linux_process_t process,
size_t  size 
)

◆ vsf_linux_process_heap_calloc()

void * vsf_linux_process_heap_calloc ( vsf_linux_process_t process,
size_t  n,
size_t  size 
)

◆ vsf_linux_process_heap_free()

void vsf_linux_process_heap_free ( vsf_linux_process_t process,
void *  buffer 
)

◆ vsf_linux_process_heap_strdup()

char * vsf_linux_process_heap_strdup ( vsf_linux_process_t process,
char *  str 
)

◆ __vsf_linux_get_process_priv()

void * __vsf_linux_get_process_priv ( vsf_linux_process_t process)

◆ vsf_linux_create_process()

vsf_linux_process_t * vsf_linux_create_process ( int  stack_size,
int  heap_size,
int  priv_size 
)

◆ vsf_linux_start_process()

int vsf_linux_start_process ( vsf_linux_process_t process)

◆ vsf_linux_cleanup_process()

void vsf_linux_cleanup_process ( vsf_linux_process_t process)

◆ vsf_linux_delete_process()

void vsf_linux_delete_process ( vsf_linux_process_t process)

◆ vsf_linux_exit_process()

VSF_CAL_NO_RETURN void vsf_linux_exit_process ( int  status,
bool  _exit 
)

◆ _exit()

VSF_CAL_NO_RETURN void _exit ( int  status)

◆ acct()

int acct ( const char *  filename)

◆ vsf_linux_set_process_reg()

uintptr_t vsf_linux_set_process_reg ( uintptr_t  reg)

◆ __vsf_linux_start_process_internal()

vsf_linux_process_t * __vsf_linux_start_process_internal ( vsf_linux_main_entry_t  entry,
char *const *  argv,
int  stack_size,
vsf_prio_t  prio 
)

◆ vsf_linux_get_process()

vsf_linux_process_t * vsf_linux_get_process ( pid_t  pid)

◆ vsf_linux_get_thread()

vsf_linux_thread_t * vsf_linux_get_thread ( pid_t  pid,
int  tid 
)

◆ vsf_linux_is_linux_ctx()

bool vsf_linux_is_linux_ctx ( vsf_linux_thread_t thread)

◆ vsf_linux_get_cur_thread()

vsf_linux_thread_t * vsf_linux_get_cur_thread ( void  )

◆ vsf_linux_get_cur_process()

vsf_linux_process_t * vsf_linux_get_cur_process ( void  )

◆ vsf_linux_thread_on_terminate()

void vsf_linux_thread_on_terminate ( vsf_linux_thread_t thread)

◆ vsf_linux_attach_process()

void vsf_linux_attach_process ( vsf_linux_process_t process,
vsf_linux_process_t parent_process 
)

◆ vsf_linux_detach_process()

void vsf_linux_detach_process ( vsf_linux_process_t process)

◆ vsf_linux_detach_thread()

void vsf_linux_detach_thread ( vsf_linux_thread_t thread)

◆ vsf_linux_wait_thread()

int vsf_linux_wait_thread ( int  tid,
int *  retval 
)

◆ daemon()

int daemon ( int  nochdir,
int  noclose 
)

◆ __vsf_linux_get_exe()

int __vsf_linux_get_exe ( char *  pathname,
int  pathname_len,
char *  cmd,
vsf_linux_main_entry_t entry,
bool  use_path 
)

◆ find_in_path()

const char * find_in_path ( const char *  progname)

◆ find_in_given_path()

const char * find_in_given_path ( const char *  progname,
const char *  path,
const char *  directory,
bool  optimize_for_exec 
)

◆ __vsf_linux_script_main()

int __vsf_linux_script_main ( int  argc,
char **  argv 
)

Possible memory leakage for IAR, because IAR will use malloc for VLA, so if main thread is exited by APIs like exit, the argv will not be freed.

◆ __vsf_linux_dynloader_main()

int __vsf_linux_dynloader_main ( int  argc,
char **  argv 
)

◆ execvpe()

exec_ret_t execvpe ( const char *  file,
char *const *  argv,
char *const *  envp 
)

◆ execvp()

exec_ret_t execvp ( const char *  file,
char *const *  argv 
)

◆ execve()

exec_ret_t execve ( const char *  pathname,
char *const *  argv,
char *const *  envp 
)

◆ execv()

exec_ret_t execv ( const char *  pathname,
char *const *  argv 
)

◆ __execlp_va()

exec_ret_t __execlp_va ( const char *  pathname,
const char *  arg,
va_list  ap 
)

◆ execlp()

exec_ret_t execlp ( const char *  pathname,
const char *  arg,
  ... 
)

◆ __execl_va()

exec_ret_t __execl_va ( const char *  pathname,
const char *  arg,
va_list  ap,
bool  has_env 
)

◆ execl()

exec_ret_t execl ( const char *  pathname,
const char *  arg,
  ... 
)

◆ execle()

exec_ret_t execle ( const char *  pathname,
const char *  arg,
  ... 
)

◆ sysconf()

long sysconf ( int  name)

◆ fpathconf()

long fpathconf ( int  fd,
int  name 
)

◆ pathconf()

long pathconf ( const char *  path,
int  name 
)

◆ pipe()

int pipe ( int  pipefd[2])

◆ pipe2()

int pipe2 ( int  pipefd[2],
int  flags 
)

◆ kill()

int kill ( pid_t  pid,
int  sig 
)

◆ sigaction()

int sigaction ( int  signum,
const struct sigaction act,
struct sigaction oldact 
)

◆ sigwaitinfo()

int sigwaitinfo ( const sigset_t set,
siginfo_t info 
)

◆ sigtimedwait()

int sigtimedwait ( const sigset_t set,
siginfo_t info,
const struct signal_timespec timeout 
)

◆ sigsuspend()

int sigsuspend ( const sigset_t set)

◆ signal()

sighandler_t signal ( int  signum,
sighandler_t  handler 
)

◆ raise()

int raise ( int  sig)

◆ ualarm()

useconds_t ualarm ( useconds_t  usecs,
useconds_t  interval 
)

◆ alarm()

unsigned int alarm ( unsigned int  seconds)

◆ wait()

pid_t wait ( int *  status)

◆ vsf_linux_waitpid()

pid_t vsf_linux_waitpid ( pid_t  pid,
int *  status,
int  options,
bool  cleanup 
)

◆ waitpid()

pid_t waitpid ( pid_t  pid,
int *  status,
int  options 
)

◆ waitid()

int waitid ( idtype_t  idtype,
id_t  id,
siginfo_t infop,
int  options 
)

◆ getlogin()

char * getlogin ( void  )

◆ getlogin_r()

int getlogin_r ( char *  buf,
size_t  bufsize 
)

◆ setgid()

int setgid ( gid_t  git)

◆ getgid()

gid_t getgid ( void  )

◆ setegid()

int setegid ( gid_t  egid)

◆ getegid()

gid_t getegid ( void  )

◆ setuid()

int setuid ( uid_t  uid)

◆ getuid()

uid_t getuid ( void  )

◆ seteuid()

int seteuid ( uid_t  euid)

◆ geteuid()

uid_t geteuid ( void  )

◆ getpid()

pid_t getpid ( void  )

◆ getppid()

pid_t getppid ( void  )

◆ setsid()

pid_t setsid ( void  )

◆ getsid()

pid_t getsid ( pid_t  pid)

◆ setpgid()

int setpgid ( pid_t  pid,
pid_t  pgid 
)

◆ getpgid()

pid_t getpgid ( pid_t  pid)

◆ setpgrp()

int setpgrp ( void  )

◆ getpgrp()

pid_t getpgrp ( void  )

◆ setresuid()

int setresuid ( uid_t  ruid,
uid_t  euid,
uid_t  suid 
)

◆ setresgid()

int setresgid ( gid_t  rgid,
gid_t  egid,
gid_t  sgid 
)

◆ gettid()

pid_t gettid ( void  )

◆ sigprocmask()

int sigprocmask ( int  how,
const sigset_t set,
sigset_t oldset 
)

◆ getcwd()

char * getcwd ( char *  buffer,
size_t  maxlen 
)

◆ vsf_linux_fs_get_executable()

int vsf_linux_fs_get_executable ( const char *  pathname,
vsf_linux_main_entry_t entry 
)

◆ vsf_linux_fd_bind_executable()

int vsf_linux_fd_bind_executable ( int  fd,
vsf_linux_main_entry_t  entry 
)

◆ vsf_linux_fs_bind_executable()

int vsf_linux_fs_bind_executable ( char *  path,
vsf_linux_main_entry_t  entry 
)

◆ getpass()

char * getpass ( const char *  prompt)

◆ vsf_linux_sleep()

vsf_systimer_tick_t vsf_linux_sleep ( vsf_timeout_tick_t  ticks)

◆ usleep()

int usleep ( int  usec)

◆ sleep()

unsigned sleep ( unsigned  sec)

◆ pause()

int pause ( void  )

◆ chown()

int chown ( const char *  pathname,
uid_t  owner,
gid_t  group 
)

◆ fchown()

int fchown ( int  fd,
uid_t  owner,
gid_t  group 
)

◆ lchown()

int lchown ( const char *  pathname,
uid_t  owner,
gid_t  group 
)

◆ fchownat()

int fchownat ( int  dirfd,
const char *  pathname,
uid_t  owner,
gid_t  group,
int  flags 
)

◆ confstr()

size_t confstr ( int  name,
char *  buf,
size_t  len 
)

◆ ftok()

key_t ftok ( const char *  pathname,
int  id 
)

◆ __semctl_va()

int __semctl_va ( int  semid,
int  semnum,
int  cmd,
va_list  ap 
)

◆ semctl()

int semctl ( int  semid,
int  semnum,
int  cmd,
  ... 
)

◆ semget()

int semget ( key_t  key,
int  nsems,
int  semflg 
)

◆ semtimedop()

int semtimedop ( int  semid,
struct sembuf sops,
size_t  nsops,
const struct timespec timeout 
)

◆ semop()

int semop ( int  semid,
struct sembuf sops,
size_t  nsops 
)

◆ gettimeofday()

int gettimeofday ( struct timeval tv,
struct timezone tz 
)

◆ settimeofday()

int settimeofday ( const struct timeval tv,
const struct timezone tz 
)

◆ times()

clock_t times ( struct tms buf)

◆ reboot()

int reboot ( int  howto)

◆ removexattr()

int removexattr ( const char *  path,
const char *  name 
)

◆ lremovexattr()

int lremovexattr ( const char *  path,
const char *  name 
)

◆ fremovexattr()

int fremovexattr ( int  fd,
const char *  name 
)

◆ setxattr()

int setxattr ( const char *  path,
const char *  name,
const void *  value,
size_t  size,
int  flags 
)

◆ lsetxattr()

int lsetxattr ( const char *  path,
const char *  name,
const void *  value,
size_t  size,
int  flags 
)

◆ fsetxattr()

int fsetxattr ( int  fd,
const char *  name,
const void *  value,
size_t  size,
int  flags 
)

◆ getxattr()

ssize_t getxattr ( const char *  path,
const char *  name,
void *  value,
size_t  size 
)

◆ lgetxattr()

ssize_t lgetxattr ( const char *  path,
const char *  name,
void *  value,
size_t  size 
)

◆ fgetxattr()

ssize_t fgetxattr ( int  fd,
const char *  name,
void *  value,
size_t  size 
)

◆ capget()

int capget ( cap_user_header_t  hdrp,
cap_user_data_t  datap 
)

◆ capset()

int capset ( cap_user_header_t  hdrp,
const cap_user_data_t  datap 
)

◆ sys_futex()

long sys_futex ( uint32_t futex,
int  futex_op,
uint32_t  val,
uintptr_t  val2,
uint32_t futex2,
uint32_t  val3 
)

◆ prctl()

int prctl ( int  option,
uintptr_t  arg2,
uintptr_t  arg3,
uintptr_t  arg4,
uintptr_t  arg5 
)

◆ shmget()

int shmget ( key_t  key,
size_t  size,
int  shmflg 
)

◆ shmat()

void * shmat ( int  shmid,
const void *  shmaddr,
int  shmflg 
)

◆ shmdt()

int shmdt ( const void *  shmaddr)

◆ shmctl()

int shmctl ( int  shmid,
int  cmd,
struct shmid_ds buf 
)

◆ sched_get_priority_max()

int sched_get_priority_max ( int  policy)

◆ sched_get_priority_min()

int sched_get_priority_min ( int  policy)

◆ sched_getparam()

int sched_getparam ( pid_t  pid,
struct sched_param param 
)

◆ sched_setparam()

int sched_setparam ( pid_t  pid,
const struct sched_param param 
)

◆ sched_getscheduler()

int sched_getscheduler ( pid_t  pid)

◆ sched_setscheduler()

int sched_setscheduler ( pid_t  pid,
int  policy,
const struct sched_param param 
)

◆ sched_yield()

int sched_yield ( void  )

◆ openpty()

int openpty ( int *  amaster,
int *  aslave,
char *  name,
const struct termios termp,
const struct winsize winp 
)

◆ login_tty()

int login_tty ( int  fd)

◆ uname()

int uname ( struct utsname name)

◆ getpagesize()

size_t getpagesize ( void  )

◆ gethostname()

int gethostname ( char *  name,
size_t  len 
)

◆ sethostname()

int sethostname ( const char *  name,
size_t  len 
)

◆ mmap64()

void * mmap64 ( void *  addr,
size_t  len,
int  prot,
int  flags,
int  fd,
off64_t  off 
)

◆ mmap()

void * mmap ( void *  addr,
size_t  len,
int  prot,
int  flags,
int  fd,
off_t  off 
)

◆ msync()

int msync ( void *  addr,
size_t  len,
int  flags 
)

◆ munmap()

int munmap ( void *  addr,
size_t  len 
)

◆ mprotect()

int mprotect ( void *  addr,
size_t  len,
int  prot 
)

◆ shm_open()

int shm_open ( const char *  name,
int  oflag,
mode_t  mode 
)

◆ shm_unlink()

int shm_unlink ( const char *  name)

◆ getrandom()

ssize_t getrandom ( void *  buf,
size_t  buflen,
unsigned int  flags 
)

◆ getentropy()

int getentropy ( void *  buf,
size_t  length 
)

◆ gethostid()

long gethostid ( void  )

◆ sethostid()

int sethostid ( long  hostid)

◆ getdtablesize()

int getdtablesize ( void  )

◆ __vsf_linux_vfork_prepare()

pid_t __vsf_linux_vfork_prepare ( vsf_linux_process_t parent_process)

◆ fork()

pid_t fork ( void  )

◆ makedev()

dev_t makedev ( unsigned int  maj,
unsigned int  min 
)

◆ major()

unsigned int major ( dev_t  dev)

◆ minor()

unsigned int minor ( dev_t  dev)

◆ __vsf_linux_spawn()

int __vsf_linux_spawn ( pid_t pid,
vsf_linux_main_entry_t  entry,
const posix_spawn_file_actions_t actions,
const posix_spawnattr_t attr,
char *const  argv[],
char *const  env[],
void *  priv,
int  priv_size 
)

◆ posix_spawnp()

int posix_spawnp ( pid_t pid,
const char *  file,
const posix_spawn_file_actions_t actions,
const posix_spawnattr_t attr,
char *const  argv[],
char *const  env[] 
)

◆ posix_spawn()

int posix_spawn ( pid_t pid,
const char *  path,
const posix_spawn_file_actions_t actions,
const posix_spawnattr_t attr,
char *const  argv[],
char *const  env[] 
)

◆ posix_spawnattr_init()

int posix_spawnattr_init ( posix_spawnattr_t attr)

◆ posix_spawnattr_destroy()

int posix_spawnattr_destroy ( posix_spawnattr_t attr)

◆ posix_spawnattr_getsigdefault()

int posix_spawnattr_getsigdefault ( const posix_spawnattr_t attr,
sigset_t sigdefault 
)

◆ posix_spawnattr_setsigdefault()

int posix_spawnattr_setsigdefault ( posix_spawnattr_t attr,
const sigset_t sigdefault 
)

◆ posix_spawnattr_getsigmask()

int posix_spawnattr_getsigmask ( const posix_spawnattr_t attr,
sigset_t sigmask 
)

◆ posix_spawnattr_setsigmask()

int posix_spawnattr_setsigmask ( posix_spawnattr_t attr,
const sigset_t sigmask 
)

◆ posix_spawnattr_getflags()

int posix_spawnattr_getflags ( const posix_spawnattr_t attr,
short int *  flags 
)

◆ posix_spawnattr_setflags()

int posix_spawnattr_setflags ( posix_spawnattr_t attr,
short int  flags 
)

◆ posix_spawnattr_getpgroup()

int posix_spawnattr_getpgroup ( const posix_spawnattr_t attr,
pid_t pgroup 
)

◆ posix_spawnattr_setpgroup()

int posix_spawnattr_setpgroup ( posix_spawnattr_t attr,
pid_t  pgroup 
)

◆ posix_spawnattr_getschedpolicy()

int posix_spawnattr_getschedpolicy ( const posix_spawnattr_t attr,
int *  schedpolicy 
)

◆ posix_spawnattr_setschedpolicy()

int posix_spawnattr_setschedpolicy ( posix_spawnattr_t attr,
int  schedpolicy 
)

◆ posix_spawnattr_getschedparam()

int posix_spawnattr_getschedparam ( const posix_spawnattr_t attr,
struct sched_param schedparam 
)

◆ posix_spawnattr_setschedparam()

int posix_spawnattr_setschedparam ( posix_spawnattr_t attr,
const struct sched_param schedparam 
)

◆ posix_spawn_file_actions_init()

int posix_spawn_file_actions_init ( posix_spawn_file_actions_t actions)

◆ posix_spawn_file_actions_destroy()

int posix_spawn_file_actions_destroy ( posix_spawn_file_actions_t actions)

◆ posix_spawn_file_actions_addopen()

int posix_spawn_file_actions_addopen ( posix_spawn_file_actions_t actions,
int  fd,
const char *  path,
int  oflag,
mode_t  mode 
)

◆ posix_spawn_file_actions_addclose()

int posix_spawn_file_actions_addclose ( posix_spawn_file_actions_t actions,
int  fd 
)

◆ posix_spawn_file_actions_adddup2()

int posix_spawn_file_actions_adddup2 ( posix_spawn_file_actions_t actions,
int  fd,
int  newfd 
)

◆ posix_spawn_file_actions_addchdir_np()

int posix_spawn_file_actions_addchdir_np ( posix_spawn_file_actions_t actions,
const char *  path 
)

◆ posix_spawn_file_actions_addfchdir_np()

int posix_spawn_file_actions_addfchdir_np ( posix_spawn_file_actions_t actions,
int  fd 
)

◆ tcgetattr()

int tcgetattr ( int  fd,
struct termios termios 
)

◆ tcsetattr()

int tcsetattr ( int  fd,
int  optional_actions,
const struct termios termios 
)

◆ tcgetpgrp()

pid_t tcgetpgrp ( int  fd)

◆ tcsetpgrp()

int tcsetpgrp ( int  fd,
pid_t  pgrp 
)

◆ tcsendbreak()

int tcsendbreak ( int  fd,
int  duration 
)

◆ tcdrain()

int tcdrain ( int  fd)

◆ tcflush()

int tcflush ( int  fd,
int  queue_selector 
)

◆ tcflow()

int tcflow ( int  fd,
int  action 
)

◆ cfmakeraw()

void cfmakeraw ( struct termios termios)

◆ cfgetispeed()

speed_t cfgetispeed ( const struct termios termios)

◆ cfgetospeed()

speed_t cfgetospeed ( const struct termios termios)

◆ cfsetispeed()

int cfsetispeed ( struct termios termios,
speed_t  speed 
)

◆ cfsetospeed()

int cfsetospeed ( struct termios termios,
speed_t  speed 
)

◆ cfsetspeed()

int cfsetspeed ( struct termios termios,
speed_t  speed 
)

◆ vsf_linux_expandenv()

int vsf_linux_expandenv ( const char *  str,
char *  output,
size_t  bufflen 
)

◆ nl_langinfo()

char * nl_langinfo ( nl_item  item)

◆ vsf_linux_loader_keep_ram()

void vsf_linux_loader_keep_ram ( void  )

◆ dlopen()

void * dlopen ( const char *  pathname,
int  mode 
)

◆ dlclose()

int dlclose ( void *  handle)

◆ dlsym()

void * dlsym ( void *  handle,
const char *  name 
)

◆ dlerror()

char * dlerror ( void  )

◆ getpwuid()

struct passwd * getpwuid ( uid_t  uid)

◆ getpwnam()

struct passwd * getpwnam ( const char *  name)

◆ initgroups()

int initgroups ( const char *  user,
gid_t  group 
)

◆ getgroups()

int getgroups ( size_t  size,
gid_t  list[] 
)

◆ setgroups()

int setgroups ( size_t  size,
const gid_t list 
)

◆ getgrnam()

struct group * getgrnam ( const char *  name)

◆ getgrgid()

struct group * getgrgid ( gid_t  gid)

◆ getgrnam_r()

int getgrnam_r ( const char *  name,
struct group grp,
char *  buf,
size_t  buflen,
struct group **  result 
)

◆ getgrgid_r()

int getgrgid_r ( gid_t  gid,
struct group grp,
char *  buf,
size_t  buflen,
struct group **  result 
)

◆ getgrent()

struct group * getgrent ( void  )

◆ setgrent()

void setgrent ( void  )

◆ endgrent()

void endgrent ( void  )

◆ getpriority()

int getpriority ( int  which,
id_t  who 
)

◆ setpriority()

int setpriority ( int  which,
id_t  who,
int  prio 
)

◆ adjtimex()

int adjtimex ( struct timex buf)

◆ clock_adjtime()

int clock_adjtime ( clockid_t  clk_id,
struct timex buf 
)

◆ ntp_adjtime()

int ntp_adjtime ( struct timex buf)

◆ sysinfo()

int sysinfo ( struct sysinfo info)

Variable Documentation

◆ __vsf_linux_stream_fdop

const vsf_linux_fd_op_t __vsf_linux_stream_fdop
extern

◆ vsf_linux_fundmental_vplt

Initial value:
= {
}
Definition vsf_linux.h:367
#define VSF_APPLET_VPLT_ENTRY_FUNC(__NAME)
Definition vsf_cfg.h:182
#define VSF_APPLET_VPLT_INFO(__TYPE, __MAJOR, __MINOR, __FINAL)
Definition vsf_cfg.h:146
void vsf_linux_loader_keep_ram(void)
Definition vsf_linux.c:4488
vsf_linux_process_t * vsf_linux_get_cur_process(void)
Definition vsf_linux.c:1649

◆ vsf_linux_sys_random_vplt

Initial value:
= {
}
Definition random.h:23
#define getrandom
Definition random.h:16

◆ vsf_linux_sys_shm_vplt

Initial value:
= {
}
#define shmctl
Definition shm.h:37
#define shmdt
Definition shm.h:36
#define shmat
Definition shm.h:35
#define shmget
Definition shm.h:34
Definition shm.h:41

◆ vsf_linux_sys_time_vplt

Initial value:
= {
}
Definition time.h:81
int futimes(int fd, const struct timeval tv[2])
Definition vsf_linux_fs.c:2136
#define getitimer
Definition time.h:22
#define utimes
Definition time.h:27
#define setitimer
Definition time.h:23
#define gettimeofday
Definition time.h:24
#define settimeofday
Definition time.h:25

◆ vsf_linux_sys_times_vplt

Initial value:
= {
}
Definition times.h:29
#define times
Definition times.h:18

◆ vsf_linux_sys_timex_vplt

Initial value:
= {
}
Definition timex.h:72
int adjtimex(struct timex *buf)
Definition vsf_linux.c:4681
int clock_adjtime(clockid_t clk_id, struct timex *buf)
Definition vsf_linux.c:4686
int ntp_adjtime(struct timex *buf)
Definition vsf_linux.c:4691

◆ vsf_linux_sys_utsname_vplt

Initial value:
= {
}
Definition utsname.h:42
#define uname
Definition utsname.h:9

◆ vsf_linux_sys_wait_vplt

Initial value:
= {
}
Definition wait.h:47
#define waitpid
Definition wait.h:19
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options)
Definition vsf_linux.c:2764
pid_t wait(int *status)
Definition vsf_linux.c:2705

◆ vsf_linux_sys_capability_vplt

Initial value:
= {
}
Definition capability.h:23
#define capset
Definition capability.h:19
#define capget
Definition capability.h:18

◆ vsf_linux_sys_mman_vplt

Initial value:
= {
}
#define mmap
Definition mman.h:20
#define munmap
Definition mman.h:22
#define mprotect
Definition mman.h:23
#define mmap64
Definition mman.h:21
Definition mman.h:47
int shm_open(const char *name, int oflag, mode_t mode)
Definition vsf_linux.c:3823
int msync(void *addr, size_t len, int flags)
Definition vsf_linux.c:3792
int shm_unlink(const char *name)
Definition vsf_linux.c:3828

◆ vsf_linux_sys_resource_vplt

Initial value:
= {
}
Definition resource.h:78
int setpriority(int which, id_t who, int prio)
Definition vsf_linux.c:4674
int getpriority(int which, id_t who)
Definition vsf_linux.c:4669

◆ vsf_linux_sys_info_vplt

Initial value:
= {
}
Definition sysinfo.h:20
Definition sysinfo.h:35

◆ vsf_linux_sys_prctl_vplt

Initial value:
= {
}
#define prctl
Definition prctl.h:11
Definition prctl.h:18

◆ vsf_linux_sys_sem_vplt

Initial value:
= {
}
#define semget
Definition sem.h:41
#define semop
Definition sem.h:43
#define semtimedop
Definition sem.h:44
#define semctl
Definition sem.h:42
Definition sem.h:48
int __semctl_va(int semid, int semnum, int cmd, va_list ap)
Definition vsf_linux.c:3103

◆ vsf_linux_signal_vplt

Initial value:
= {
}
#define signal
Definition signal.h:18
#define pthread_sigmask
Definition signal.h:28
#define sigprocmask
Definition signal.h:20
#define raise
Definition signal.h:21
#define sigtimedwait
Definition signal.h:30
#define sigwaitinfo
Definition signal.h:29
#define kill
Definition signal.h:17
Definition signal.h:139
Definition signal.h:220
int sigsuspend(const sigset_t *set)
Definition vsf_linux.c:2616

◆ vsf_linux_sched_vplt

Initial value:
= {
}
#define sched_setparam
Definition sched.h:22
#define sched_get_priority_max
Definition sched.h:18
#define sched_get_priority_min
Definition sched.h:19
#define sched_getparam
Definition sched.h:20
#define sched_getscheduler
Definition sched.h:21
Definition sched.h:38
int sched_yield(void)
Definition vsf_linux.c:3668
int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param)
Definition vsf_linux.c:3663

◆ vsf_linux_spawn_vplt

Initial value:
= {
}
Definition spawn.h:62
int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t *actions, int fd, const char *path, int oflag, mode_t mode)
Definition vsf_linux.c:4202
int posix_spawnattr_getschedparam(const posix_spawnattr_t *attr, struct sched_param *schedparam)
Definition vsf_linux.c:4165
int posix_spawnattr_setschedparam(posix_spawnattr_t *attr, const struct sched_param *schedparam)
Definition vsf_linux.c:4170
int posix_spawnattr_init(posix_spawnattr_t *attr)
Definition vsf_linux.c:4104
int posix_spawnattr_getsigdefault(const posix_spawnattr_t *attr, sigset_t *sigdefault)
Definition vsf_linux.c:4115
int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *actions, int fd, int newfd)
Definition vsf_linux.c:4232
int posix_spawn_file_actions_init(posix_spawn_file_actions_t *actions)
Definition vsf_linux.c:4188
int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *actions, int fd)
Definition vsf_linux.c:4220
int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t *actions)
Definition vsf_linux.c:4194
int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t *actions, int fd)
Definition vsf_linux.c:4257
int posix_spawn(pid_t *pid, const char *path, const posix_spawn_file_actions_t *actions, const posix_spawnattr_t *attr, char *const argv[], char *const env[])
Definition vsf_linux.c:4096
int posix_spawnattr_setflags(posix_spawnattr_t *attr, short int flags)
Definition vsf_linux.c:4140
int posix_spawnattr_getschedpolicy(const posix_spawnattr_t *attr, int *schedpolicy)
Definition vsf_linux.c:4155
int posix_spawnattr_getpgroup(const posix_spawnattr_t *attr, pid_t *pgroup)
Definition vsf_linux.c:4145
int posix_spawnattr_setsigdefault(posix_spawnattr_t *attr, const sigset_t *sigdefault)
Definition vsf_linux.c:4120
int posix_spawnattr_getflags(const posix_spawnattr_t *attr, short int *flags)
Definition vsf_linux.c:4135
int posix_spawnattr_setsigmask(posix_spawnattr_t *attr, const sigset_t *sigmask)
Definition vsf_linux.c:4130
int posix_spawnp(pid_t *pid, const char *file, const posix_spawn_file_actions_t *actions, const posix_spawnattr_t *attr, char *const argv[], char *const env[])
Definition vsf_linux.c:4088
int posix_spawnattr_setpgroup(posix_spawnattr_t *attr, pid_t pgroup)
Definition vsf_linux.c:4150
int posix_spawnattr_getsigmask(const posix_spawnattr_t *attr, sigset_t *sigmask)
Definition vsf_linux.c:4125
int posix_spawnattr_setschedpolicy(posix_spawnattr_t *attr, int schedpolicy)
Definition vsf_linux.c:4160
int posix_spawnattr_destroy(posix_spawnattr_t *attr)
Definition vsf_linux.c:4110
int posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t *actions, const char *path)
Definition vsf_linux.c:4245

◆ vsf_linux_pty_vplt

Initial value:
= {
}
#define openpty
Definition pty.h:20
#define login_tty
Definition pty.h:21
Definition pty.h:25

◆ vsf_linux_dlfcn_vplt

Initial value:
= {
}
#define dlopen
Definition dlfcn.h:21
#define dlsym
Definition dlfcn.h:23
#define dlclose
Definition dlfcn.h:22
Definition dlfcn.h:35
char * dlerror(void)
Definition vsf_linux.c:4592

◆ vsf_linux_grp_vplt

Initial value:
= {
}
#define setgroups
Definition grp.h:19
#define getgrgid_r
Definition grp.h:23
#define initgroups
Definition grp.h:17
#define getgrnam_r
Definition grp.h:22
#define getgrnam
Definition grp.h:20
#define getgroups
Definition grp.h:18
#define getgrgid
Definition grp.h:21
Definition grp.h:37
struct group * getgrent(void)
Definition vsf_linux.c:4654
void setgrent(void)
Definition vsf_linux.c:4659
void endgrent(void)
Definition vsf_linux.c:4663

◆ vsf_linux_pwd_vplt

Initial value:
= {
}
#define getpwuid
Definition pwd.h:17
#define getpwnam
Definition pwd.h:18
Definition pwd.h:32

◆ vsf_linux_errno_vplt

Initial value:
= {
}
Definition errno.h:154
int * __vsf_linux_errno(void)
Definition vsf_linux.c:772

◆ vsf_linux_termios_vplt

Initial value:
= {
}
Definition termios.h:217
#define tcflow
Definition termios.h:16
#define tcgetattr
Definition termios.h:11
#define cfmakeraw
Definition termios.h:17
#define cfsetspeed
Definition termios.h:22
#define tcsetattr
Definition termios.h:12
#define tcdrain
Definition termios.h:14
#define cfgetospeed
Definition termios.h:19
#define tcflush
Definition termios.h:15
#define cfsetospeed
Definition termios.h:21
#define cfsetispeed
Definition termios.h:20
#define cfgetispeed
Definition termios.h:18
#define tcsendbreak
Definition termios.h:13

◆ vsf_linux_unistd_vplt

◆ vsf_linux_sys_reboot_vplt

Initial value:
= {
}
#define reboot
Definition reboot.h:16
Definition reboot.h:28

◆ vsf_linux_sys_xattr_vplt

Initial value:
= {
}
Definition xattr.h:28
#define removexattr
Definition xattr.h:16
#define lsetxattr
Definition xattr.h:20
#define setxattr
Definition xattr.h:19
#define lremovexattr
Definition xattr.h:17
#define getxattr
Definition xattr.h:22
#define fsetxattr
Definition xattr.h:21
#define fgetxattr
Definition xattr.h:24
#define lgetxattr
Definition xattr.h:23
#define fremovexattr
Definition xattr.h:18

◆ vsf_linux_sys_statfs_vplt

Initial value:
= {
}
#define fstatfs
Definition statfs.h:18
Definition statfs.h:23
Definition statfs.h:39

◆ vsf_linux_sys_sysmacros_vplt

Initial value:
= {
}
Definition sysmacros.h:17
unsigned int major(dev_t dev)
Definition vsf_linux.c:3919
unsigned int minor(dev_t dev)
Definition vsf_linux.c:3924
dev_t makedev(unsigned int maj, unsigned int min)
Definition vsf_linux.c:3914

◆ vsf_linux_findprog_vplt

Initial value:
= {
}
#define find_in_given_path
Definition findprog.h:12
#define find_in_path
Definition findprog.h:11
Definition findprog.h:16

◆ vsf_linux_glob_vplt

Initial value:
= {
}
#define globfree
Definition glob.h:20
#define glob
Definition glob.h:19
Definition glob.h:62

◆ vsf_linux_regex_vplt

Initial value:
= {
}
void regfree(regex_t *)
int regexec(const regex_t *, const char *, size_t, regmatch_t[], int)
__BEGIN_DECLS int regcomp(regex_t *, const char *, int)
size_t regerror(int, const regex_t *, char *, size_t)
Definition regex.h:98

◆ vsf_linux_fnmatch_vplt

Initial value:
= {
}
int fnmatch(const char *pattern, const char *string, int flags)
Definition fnmatch.h:28

◆ vsf_linux_vplt