Covers the C Standard Library module. This module offers many features of the C Standard Library and POSIX standard, such as string and memory functions, memory allocation, and file-descriptor I/O. More...
Files | |
file | errno.h |
Transactional wrappers for interfaces of <errno.h>. | |
file | fcntl-tm.h |
Transactional wrappers for interfaces of <fcntl.h>. | |
file | fcntl.h |
Transactional wrappers for interfaces of <fcntl.h>. | |
file | picotm-libc.h |
Public interfaces of picotm's libc module. | |
file | sched.h |
Transactional wrappers for interfaces of <sched.h>. | |
file | socket-tm.h |
Transactional wrappers for interfaces of <sys/socket.h>. | |
file | socket.h |
Transactional wrappers for interfaces of <sys/socket.h>. | |
file | stat-tm.h |
Transactional wrappers for interfaces of <sys/stat.h>. | |
file | stat.h |
Transactional wrappers for interfaces of <sys/stat.h>. | |
file | stdbool.h |
Transactional wrappers for interfaces of <stdbool.h>. | |
file | stddef.h |
Transactional wrappers for interfaces of <stddef.h>. | |
file | stdint.h |
Transactional wrappers for interfaces of <stdint.h>. | |
file | stdio-tm.h |
Transactional wrappers for interfaces of <stdio.h>. | |
file | stdio.h |
Transactional wrappers for interfaces of <stdio.h>. | |
file | stdlib-tm.h |
Transactional wrappers for interfaces of <stdlib.h>. | |
file | stdlib.h |
Transactional wrappers for interfaces of <stdlib.h>. | |
file | string-tm.h |
Transactional wrappers for interfaces of <string.h>. | |
file | string.h |
Transactional wrappers for interfaces of <string.h>. | |
file | types.h |
Transactional wrappers for interfaces of <sys/types.h>. | |
file | unistd-tm.h |
Transactional wrappers for interfaces of <unistd.h>. | |
file | unistd.h |
Transactional wrappers for interfaces of <unistd.h>. | |
Macros | |
#define | errno_tx |
Functions | |
PICOTM_NOTHROW PICOTM_NORETURN void | _exit_tx (int status) |
PICOTM_NOTHROW PICOTM_NORETURN void | _Exit_tx (int status) |
PICOTM_NOTHROW PICOTM_NORETURN void | abort_tx (void) |
PICOTM_NOTHROW int | accept_tm (int socket, struct sockaddr *address, socklen_t *address_len) |
PICOTM_NOTHROW int | accept_tx (int socket, struct sockaddr *address, socklen_t *address_len) |
PICOTM_NOTHROW int | bind_tm (int socket, const struct sockaddr *address, socklen_t address_len) |
PICOTM_NOTHROW int | bind_tx (int socket, const struct sockaddr *address, socklen_t address_len) |
PICOTM_NOTHROW void * | calloc_tx (size_t nmemb, size_t size) |
PICOTM_NOTHROW int | chdir_tm (const char *path) |
PICOTM_NOTHROW int | chdir_tx (const char *path) |
PICOTM_NOTHROW int | chmod_tm (const char *path, mode_t mode) |
PICOTM_NOTHROW int | chmod_tx (const char *path, mode_t mode) |
PICOTM_NOTHROW int | close_tx (int fildes) |
PICOTM_NOTHROW int | connect_tm (int socket, const struct sockaddr *address, socklen_t address_len) |
PICOTM_NOTHROW int | connect_tx (int socket, const struct sockaddr *address, socklen_t address_len) |
PICOTM_NOTHROW int | creat_tm (const char *path, mode_t mode) |
PICOTM_NOTHROW int | creat_tx (const char *path, mode_t mode) |
PICOTM_NOTHROW int | dup2_tx (int fildes, int fildes2) |
PICOTM_NOTHROW int | dup_tx (int fildes) |
PICOTM_NOTHROW PICOTM_NORETURN void | exit_tx (int status) |
PICOTM_NOTHROW int | fchdir_tx (int fildes) |
PICOTM_NOTHROW int | fchmod_tx (int fildes, mode_t mode) |
PICOTM_NOTHROW int | fcntl_tm (int fildes, int cmd,...) |
PICOTM_NOTHROW int | fcntl_tx (int fildes, int cmd,...) |
PICOTM_NOTHROW void | free_tm (void *ptr) |
PICOTM_NOTHROW void | free_tx (void *ptr) |
PICOTM_NOTHROW int | fstat_tm (int fildes, struct stat *buf) |
PICOTM_NOTHROW int | fstat_tx (int fildes, struct stat *buf) |
PICOTM_NOTHROW int | fsync_tx (int fildes) |
PICOTM_NOTHROW char * | getcwd_tm (char *buf, size_t size) |
PICOTM_NOTHROW char * | getcwd_tx (char *buf, size_t size) |
PICOTM_NOTHROW int | link_tm (const char *path1, const char *path2) |
PICOTM_NOTHROW int | link_tx (const char *path1, const char *path2) |
PICOTM_NOTHROW int | listen_tx (int socket, int backlog) |
static blkcnt_t | load_blkcnt_t_tx (const blkcnt_t *addr) |
static blksize_t | load_blksize_t_tx (const blksize_t *addr) |
static bool | load_bool_tx (const bool *addr) |
static clock_t | load_clock_t_tx (const clock_t *addr) |
static clockid_t | load_clockid_t_tx (const clockid_t *addr) |
static dev_t | load_dev_t_tx (const dev_t *addr) |
static div_t | load_div_t_tx (const div_t *addr) |
static fsblkcnt_t | load_fsblkcnt_t_tx (const fsblkcnt_t *addr) |
static fsfilcnt_t | load_fsfilcnt_t_tx (const fsfilcnt_t *addr) |
static gid_t | load_gid_t_tx (const gid_t *addr) |
static id_t | load_id_t_tx (const id_t *addr) |
static ino_t | load_ino_t_tx (const ino_t *addr) |
static int16_t | load_int16_t_tx (const int16_t *addr) |
static int32_t | load_int32_t_tx (const int32_t *addr) |
static int64_t | load_int64_t_tx (const int64_t *addr) |
static int8_t | load_int8_t_tx (const int8_t *addr) |
static int_fast16_t | load_int_fast16_t_tx (const int_fast16_t *addr) |
static int_fast32_t | load_int_fast32_t_tx (const int_fast32_t *addr) |
static int_fast64_t | load_int_fast64_t_tx (const int_fast64_t *addr) |
static int_fast8_t | load_int_fast8_t_tx (const int_fast8_t *addr) |
static int_least16_t | load_int_least16_t_tx (const int_least16_t *addr) |
static int_least32_t | load_int_least32_t_tx (const int_least32_t *addr) |
static int_least64_t | load_int_least64_t_tx (const int_least64_t *addr) |
static int_least8_t | load_int_least8_t_tx (const int_least8_t *addr) |
static intmax_t | load_intmax_t_tx (const intmax_t *addr) |
static intptr_t | load_intptr_t_tx (const intptr_t *addr) |
static key_t | load_key_t_tx (const key_t *addr) |
static ldiv_t | load_ldiv_t_tx (const ldiv_t *addr) |
static lldiv_t | load_lldiv_t_tx (const lldiv_t *addr) |
static mode_t | load_mode_t_tx (const mode_t *addr) |
static nlink_t | load_nlink_t_tx (const nlink_t *addr) |
static off_t | load_off_t_tx (const off_t *addr) |
static pid_t | load_pid_t_tx (const pid_t *addr) |
static ptrdiff_t | load_ptrdiff_t_tx (const ptrdiff_t *addr) |
static size_t | load_size_t_tx (const size_t *addr) |
static ssize_t | load_ssize_t_tx (const ssize_t *addr) |
static suseconds_t | load_suseconds_t_tx (const suseconds_t *addr) |
static time_t | load_time_t_tx (const time_t *addr) |
static timer_t | load_timer_t_tx (const timer_t *addr) |
static uid_t | load_uid_t_tx (const uid_t *addr) |
static uint16_t | load_uint16_t_tx (const uint16_t *addr) |
static uint32_t | load_uint32_t_tx (const uint32_t *addr) |
static uint64_t | load_uint64_t_tx (const uint64_t *addr) |
static uint8_t | load_uint8_t_tx (const uint8_t *addr) |
static uint_fast16_t | load_uint_fast16_t_tx (const uint_fast16_t *addr) |
static uint_fast32_t | load_uint_fast32_t_tx (const uint_fast32_t *addr) |
static uint_fast64_t | load_uint_fast64_t_tx (const uint_fast64_t *addr) |
static uint_fast8_t | load_uint_fast8_t_tx (const uint_fast8_t *addr) |
static uint_least16_t | load_uint_least16_t_tx (const uint_least16_t *addr) |
static uint_least32_t | load_uint_least32_t_tx (const uint_least32_t *addr) |
static uint_least64_t | load_uint_least64_t_tx (const uint_least64_t *addr) |
static uint_least8_t | load_uint_least8_t_tx (const uint_least8_t *addr) |
static uintmax_t | load_uintmax_t_tx (const uintmax_t *addr) |
static uintptr_t | load_uintptr_t_tx (const uintptr_t *addr) |
static wchar_t | load_wchar_t_tx (const wchar_t *addr) |
PICOTM_NOTHROW off_t | lseek_tx (int fildes, off_t offset, int whence) |
PICOTM_NOTHROW int | lstat_tm (const char *path, struct stat *buf) |
PICOTM_NOTHROW int | lstat_tx (const char *path, struct stat *buf) |
PICOTM_NOTHROW void * | malloc_tx (size_t size) |
PICOTM_NOTHROW void * | memccpy_tm (void *restrict dest, const void *restrict src, int c, size_t n) |
PICOTM_NOTHROW void * | memccpy_tx (void *restrict dest, const void *restrict src, int c, size_t n) |
PICOTM_NOTHROW void * | memchr_tm (const void *s, int c, size_t n) |
PICOTM_NOTHROW void * | memchr_tx (const void *s, int c, size_t n) |
PICOTM_NOTHROW int | memcmp_tm (const void *s1, const void *s2, size_t n) |
PICOTM_NOTHROW int | memcmp_tx (const void *s1, const void *s2, size_t n) |
PICOTM_NOTHROW void * | memcpy_tm (void *restrict dest, const void *restrict src, size_t n) |
PICOTM_NOTHROW void * | memcpy_tx (void *restrict dest, const void *restrict src, size_t n) |
PICOTM_NOTHROW void * | memmove_tm (void *dest, const void *src, size_t n) |
PICOTM_NOTHROW void * | memmove_tx (void *dest, const void *src, size_t n) |
PICOTM_NOTHROW void * | memrchr_tm (const void *s, int c, size_t n) |
PICOTM_NOTHROW void * | memrchr_tx (const void *s, int c, size_t n) |
PICOTM_NOTHROW void * | memset_tm (void *s, int c, size_t n) |
PICOTM_NOTHROW void * | memset_tx (void *s, int c, size_t n) |
PICOTM_NOTHROW int | mkdir_tm (const char *path, mode_t mode) |
PICOTM_NOTHROW int | mkdir_tx (const char *path, mode_t mode) |
PICOTM_NOTHROW char * | mkdtemp_tm (char *template) |
PICOTM_NOTHROW char * | mkdtemp_tx (char *template) |
PICOTM_NOTHROW int | mkfifo_tm (const char *path, mode_t mode) |
PICOTM_NOTHROW int | mkfifo_tx (const char *path, mode_t mode) |
PICOTM_NOTHROW int | mknod_tm (const char *path, mode_t mode, dev_t dev) |
PICOTM_NOTHROW int | mknod_tx (const char *path, mode_t mode, dev_t dev) |
PICOTM_NOTHROW int | mkstemp_tm (char *template) |
PICOTM_NOTHROW int | mkstemp_tx (char *template) |
PICOTM_NOTHROW int | open_tm (const char *path, int oflag,...) |
PICOTM_NOTHROW int | open_tx (const char *path, int oflag,...) |
PICOTM_NOTHROW void | picotm_libc_acquire_proc_signal (int signum, void(*nontx_sigaction)(int, siginfo_t *, void *), struct picotm_error *error) |
Acquires the signal handler from the process. More... | |
PICOTM_NOTHROW void | picotm_libc_add_signal (int signum, _Bool is_recoverable, struct picotm_error *error) |
Enable recovery for a UNIX signal. More... | |
PICOTM_NOTHROW void | picotm_libc_clear_signals (void) |
Disable recovery for all UNIX signals. | |
PICOTM_NOTHROW enum picotm_libc_error_recovery | picotm_libc_get_error_recovery (void) |
PICOTM_NOTHROW enum picotm_libc_cc_mode | picotm_libc_get_file_type_cc_mode (enum picotm_libc_file_type file_type) |
PICOTM_NOTHROW void | picotm_libc_release_proc_signal (int signum, struct picotm_error *error) |
Releases a previously acquired signal to the process. More... | |
PICOTM_NOTHROW void | picotm_libc_remove_signal (int signum) |
Disable recovery for a UNIX signal. More... | |
PICOTM_NOTHROW void | picotm_libc_save_errno (void) |
PICOTM_NOTHROW void | picotm_libc_set_error_recovery (enum picotm_libc_error_recovery recovery) |
PICOTM_NOTHROW void | picotm_libc_set_file_type_cc_mode (enum picotm_libc_file_type file_type, enum picotm_libc_cc_mode cc_mode) |
PICOTM_NOTHROW int | pipe_tm (int fildes[2]) |
PICOTM_NOTHROW int | pipe_tx (int fildes[2]) |
PICOTM_NOTHROW int | posix_memalign_tm (void **memptr, size_t alignment, size_t size) |
PICOTM_NOTHROW int | posix_memalign_tx (void **memptr, size_t alignment, size_t size) |
PICOTM_NOTHROW ssize_t | pread_tm (int fildes, void *buf, size_t nbyte, off_t offset) |
PICOTM_NOTHROW ssize_t | pread_tx (int fildes, void *buf, size_t nbyte, off_t offset) |
static void | privatize_blkcnt_t_tx (const blkcnt_t *addr, unsigned long flags) |
static void | privatize_blksize_t_tx (const blksize_t *addr, unsigned long flags) |
static void | privatize_bool_tx (const bool *addr, unsigned long flags) |
static void | privatize_clock_t_tx (const clock_t *addr, unsigned long flags) |
static void | privatize_clockid_t_tx (const clockid_t *addr, unsigned long flags) |
static void | privatize_dev_t_tx (const dev_t *addr, unsigned long flags) |
static void | privatize_div_t_tx (const div_t *addr, unsigned long flags) |
static void | privatize_fsblkcnt_t_tx (const fsblkcnt_t *addr, unsigned long flags) |
static void | privatize_fsfilcnt_t_tx (const fsfilcnt_t *addr, unsigned long flags) |
static void | privatize_gid_t_tx (const gid_t *addr, unsigned long flags) |
static void | privatize_id_t_tx (const id_t *addr, unsigned long flags) |
static void | privatize_ino_t_tx (const ino_t *addr, unsigned long flags) |
static void | privatize_int16_t_tx (const int16_t *addr, unsigned long flags) |
static void | privatize_int32_t_tx (const int32_t *addr, unsigned long flags) |
static void | privatize_int64_t_tx (const int64_t *addr, unsigned long flags) |
static void | privatize_int8_t_tx (const int8_t *addr, unsigned long flags) |
static void | privatize_int_fast16_t_tx (const int_fast16_t *addr, unsigned long flags) |
static void | privatize_int_fast32_t_tx (const int_fast32_t *addr, unsigned long flags) |
static void | privatize_int_fast64_t_tx (const int_fast64_t *addr, unsigned long flags) |
static void | privatize_int_fast8_t_tx (const int_fast8_t *addr, unsigned long flags) |
static void | privatize_int_least16_t_tx (const int_least16_t *addr, unsigned long flags) |
static void | privatize_int_least32_t_tx (const int_least32_t *addr, unsigned long flags) |
static void | privatize_int_least64_t_tx (const int_least64_t *addr, unsigned long flags) |
static void | privatize_int_least8_t_tx (const int_least8_t *addr, unsigned long flags) |
static void | privatize_intmax_t_tx (const intmax_t *addr, unsigned long flags) |
static void | privatize_intptr_t_tx (const intptr_t *addr, unsigned long flags) |
static void | privatize_key_t_tx (const key_t *addr, unsigned long flags) |
static void | privatize_ldiv_t_tx (const ldiv_t *addr, unsigned long flags) |
static void | privatize_lldiv_t_tx (const lldiv_t *addr, unsigned long flags) |
static void | privatize_mode_t_tx (const mode_t *addr, unsigned long flags) |
static void | privatize_nlink_t_tx (const nlink_t *addr, unsigned long flags) |
static void | privatize_off_t_tx (const off_t *addr, unsigned long flags) |
static void | privatize_pid_t_tx (const pid_t *addr, unsigned long flags) |
static void | privatize_ptrdiff_t_tx (const ptrdiff_t *addr, unsigned long flags) |
static void | privatize_size_t_tx (const size_t *addr, unsigned long flags) |
static void | privatize_ssize_t_tx (const ssize_t *addr, unsigned long flags) |
static void | privatize_suseconds_t_tx (const suseconds_t *addr, unsigned long flags) |
static void | privatize_time_t_tx (const time_t *addr, unsigned long flags) |
static void | privatize_timer_t_tx (const timer_t *addr, unsigned long flags) |
static void | privatize_uid_t_tx (const uid_t *addr, unsigned long flags) |
static void | privatize_uint16_t_tx (const uint16_t *addr, unsigned long flags) |
static void | privatize_uint32_t_tx (const uint32_t *addr, unsigned long flags) |
static void | privatize_uint64_t_tx (const uint64_t *addr, unsigned long flags) |
static void | privatize_uint8_t_tx (const uint8_t *addr, unsigned long flags) |
static void | privatize_uint_fast16_t_tx (const uint_fast16_t *addr, unsigned long flags) |
static void | privatize_uint_fast32_t_tx (const uint_fast32_t *addr, unsigned long flags) |
static void | privatize_uint_fast64_t_tx (const uint_fast64_t *addr, unsigned long flags) |
static void | privatize_uint_fast8_t_tx (const uint_fast8_t *addr, unsigned long flags) |
static void | privatize_uint_least16_t_tx (const uint_least16_t *addr, unsigned long flags) |
static void | privatize_uint_least32_t_tx (const uint_least32_t *addr, unsigned long flags) |
static void | privatize_uint_least64_t_tx (const uint_least64_t *addr, unsigned long flags) |
static void | privatize_uint_least8_t_tx (const uint_least8_t *addr, unsigned long flags) |
static void | privatize_uintmax_t_tx (const uintmax_t *addr, unsigned long flags) |
static void | privatize_uintptr_t_tx (const uintptr_t *addr, unsigned long flags) |
static void | privatize_wchar_t_tx (const wchar_t *addr, unsigned long flags) |
PICOTM_NOTHROW ssize_t | pwrite_tm (int fildes, const void *buf, size_t nbyte, off_t offset) |
PICOTM_NOTHROW ssize_t | pwrite_tx (int fildes, const void *buf, size_t nbyte, off_t offset) |
PICOTM_NOTHROW void | qsort_tm (void *base, size_t nel, size_t width, int(*compar)(const void *, const void *)) |
PICOTM_NOTHROW void | qsort_tx (void *base, size_t nel, size_t width, int(*compar)(const void *, const void *)) |
PICOTM_NOTHROW int | rand_r_tm (unsigned int *seed) |
PICOTM_NOTHROW int | rand_r_tx (unsigned int *seed) |
PICOTM_NOTHROW void * | rawmemchr_tm (const void *s, int c) |
PICOTM_NOTHROW void * | rawmemchr_tx (const void *s, int c) |
PICOTM_NOTHROW ssize_t | read_tm (int fildes, void *buf, size_t nbyte) |
PICOTM_NOTHROW ssize_t | read_tx (int fildes, void *buf, size_t nbyte) |
PICOTM_NOTHROW void * | realloc_tm (void *ptr, size_t size) |
PICOTM_NOTHROW void * | realloc_tx (void *ptr, size_t size) |
PICOTM_NOTHROW ssize_t | recv_tm (int socket, void *buffer, size_t length, int flags) |
PICOTM_NOTHROW ssize_t | recv_tx (int socket, void *buffer, size_t length, int flags) |
PICOTM_NOTHROW int | sched_yield_tx (void) |
PICOTM_NOTHROW ssize_t | send_tm (int socket, const void *buffer, size_t length, int flags) |
PICOTM_NOTHROW ssize_t | send_tx (int socket, const void *buffer, size_t length, int flags) |
PICOTM_NOTHROW int | shutdown_tx (int socket, int how) |
PICOTM_NOTHROW unsigned | sleep_tx (unsigned seconds) |
PICOTM_NOTHROW int | snprintf_tm (char *restrict s, size_t n, const char *restrict format,...) |
PICOTM_NOTHROW int | snprintf_tx (char *restrict s, size_t n, const char *restrict format,...) |
PICOTM_NOTHROW int | socket_tx (int domain, int type, int protocol) |
PICOTM_NOTHROW int | sscanf_tm (const char *restrict s, const char *restrict format,...) |
PICOTM_NOTHROW int | sscanf_tx (const char *restrict s, const char *restrict format,...) |
PICOTM_NOTHROW int | stat_tm (const char *path, struct stat *buf) |
PICOTM_NOTHROW int | stat_tx (const char *path, struct stat *buf) |
static void | store_blkcnt_t_tx (blkcnt_t *addr, blkcnt_t value) |
static void | store_blksize_t_tx (blksize_t *addr, blksize_t value) |
static void | store_bool_tx (bool *addr, bool value) |
static void | store_clock_t_tx (clock_t *addr, clock_t value) |
static void | store_clockid_t_tx (clockid_t *addr, clockid_t value) |
static void | store_dev_t_tx (dev_t *addr, dev_t value) |
static void | store_div_t_tx (div_t *addr, div_t value) |
static void | store_fsblkcnt_t_tx (fsblkcnt_t *addr, fsblkcnt_t value) |
static void | store_fsfilcnt_t_tx (fsfilcnt_t *addr, fsfilcnt_t value) |
static void | store_gid_t_tx (gid_t *addr, gid_t value) |
static void | store_id_t_tx (id_t *addr, id_t value) |
static void | store_ino_t_tx (ino_t *addr, ino_t value) |
static void | store_int16_t_tx (int16_t *addr, int16_t value) |
static void | store_int32_t_tx (int32_t *addr, int32_t value) |
static void | store_int64_t_tx (int64_t *addr, int64_t value) |
static void | store_int8_t_tx (int8_t *addr, int8_t value) |
static void | store_int_fast16_t_tx (int_fast16_t *addr, int_fast16_t value) |
static void | store_int_fast32_t_tx (int_fast32_t *addr, int_fast32_t value) |
static void | store_int_fast64_t_tx (int_fast64_t *addr, int_fast64_t value) |
static void | store_int_fast8_t_tx (int_fast8_t *addr, int_fast8_t value) |
static void | store_int_least16_t_tx (int_least16_t *addr, int_least16_t value) |
static void | store_int_least32_t_tx (int_least32_t *addr, int_least32_t value) |
static void | store_int_least64_t_tx (int_least64_t *addr, int_least64_t value) |
static void | store_int_least8_t_tx (int_least8_t *addr, int_least8_t value) |
static void | store_intmax_t_tx (intmax_t *addr, intmax_t value) |
static void | store_intptr_t_tx (intptr_t *addr, intptr_t value) |
static void | store_key_t_tx (key_t *addr, key_t value) |
static void | store_ldiv_t_tx (ldiv_t *addr, ldiv_t value) |
static void | store_lldiv_t_tx (lldiv_t *addr, lldiv_t value) |
static void | store_mode_t_tx (mode_t *addr, mode_t value) |
static void | store_nlink_t_tx (nlink_t *addr, nlink_t value) |
static void | store_off_t_tx (off_t *addr, off_t value) |
static void | store_pid_t_tx (pid_t *addr, pid_t value) |
static void | store_ptrdiff_t_tx (ptrdiff_t *addr, ptrdiff_t value) |
static void | store_size_t_tx (size_t *addr, size_t value) |
static void | store_ssize_t_tx (ssize_t *addr, ssize_t value) |
static void | store_suseconds_t_tx (suseconds_t *addr, suseconds_t value) |
static void | store_time_t_tx (time_t *addr, time_t value) |
static void | store_timer_t_tx (timer_t *addr, timer_t value) |
static void | store_uid_t_tx (uid_t *addr, uid_t value) |
static void | store_uint16_t_tx (uint16_t *addr, uint16_t value) |
static void | store_uint32_t_tx (uint32_t *addr, uint32_t value) |
static void | store_uint64_t_tx (uint64_t *addr, uint64_t value) |
static void | store_uint8_t_tx (uint8_t *addr, uint8_t value) |
static void | store_uint_fast16_t_tx (uint_fast16_t *addr, uint_fast16_t value) |
static void | store_uint_fast32_t_tx (uint_fast32_t *addr, uint_fast32_t value) |
static void | store_uint_fast64_t_tx (uint_fast64_t *addr, uint_fast64_t value) |
static void | store_uint_fast8_t_tx (uint_fast8_t *addr, uint_fast8_t value) |
static void | store_uint_least16_t_tx (uint_least16_t *addr, uint_least16_t value) |
static void | store_uint_least32_t_tx (uint_least32_t *addr, uint_least32_t value) |
static void | store_uint_least64_t_tx (uint_least64_t *addr, uint_least64_t value) |
static void | store_uint_least8_t_tx (uint_least8_t *addr, uint_least8_t value) |
static void | store_uintmax_t_tx (uintmax_t *addr, uintmax_t value) |
static void | store_uintptr_t_tx (uintptr_t *addr, uintptr_t value) |
static void | store_wchar_t_tx (wchar_t *addr, wchar_t value) |
PICOTM_NOTHROW char * | stpcpy_tm (char *restrict dest, const char *restrict src) |
PICOTM_NOTHROW char * | stpcpy_tx (char *restrict dest, const char *restrict src) |
PICOTM_NOTHROW char * | stpncpy_tm (char *restrict dest, const char *restrict src, size_t n) |
PICOTM_NOTHROW char * | stpncpy_tx (char *restrict dest, const char *restrict src, size_t n) |
PICOTM_NOTHROW char * | strcat_tm (char *restrict dest, const char *restrict src) |
PICOTM_NOTHROW char * | strcat_tx (char *restrict dest, const char *restrict src) |
PICOTM_NOTHROW char * | strchr_tm (const char *s, int c) |
PICOTM_NOTHROW char * | strchr_tx (const char *s, int c) |
PICOTM_NOTHROW int | strcmp_tm (const char *s1, const char *s2) |
PICOTM_NOTHROW int | strcmp_tx (const char *s1, const char *s2) |
PICOTM_NOTHROW int | strcoll_l_tm (const char *s1, const char *s2, locale_t locale) |
PICOTM_NOTHROW int | strcoll_l_tx (const char *s1, const char *s2, locale_t locale) |
PICOTM_NOTHROW char * | strcpy_tm (char *restrict dest, const char *restrict src) |
PICOTM_NOTHROW char * | strcpy_tx (char *restrict dest, const char *restrict src) |
PICOTM_NOTHROW size_t | strcspn_tm (const char *s, const char *reject) |
PICOTM_NOTHROW size_t | strcspn_tx (const char *s, const char *reject) |
PICOTM_NOTHROW char * | strdup_tm (const char *s) |
PICOTM_NOTHROW char * | strdup_tx (const char *s) |
PICOTM_NOTHROW size_t | strlen_tm (const char *s) |
PICOTM_NOTHROW size_t | strlen_tx (const char *s) |
PICOTM_NOTHROW char * | strncat_tm (char *restrict dest, const char *restrict src, size_t n) |
PICOTM_NOTHROW char * | strncat_tx (char *restrict dest, const char *restrict src, size_t n) |
PICOTM_NOTHROW int | strncmp_tm (const char *s1, const char *s2, size_t n) |
PICOTM_NOTHROW int | strncmp_tx (const char *s1, const char *s2, size_t n) |
PICOTM_NOTHROW char * | strncpy_tm (char *restrict dest, const char *restrict src, size_t n) |
PICOTM_NOTHROW char * | strncpy_tx (char *restrict dest, const char *restrict src, size_t n) |
PICOTM_NOTHROW char * | strndup_tm (const char *s, size_t n) |
PICOTM_NOTHROW char * | strndup_tx (const char *s, size_t n) |
PICOTM_NOTHROW size_t | strnlen_tm (const char *s, size_t maxlen) |
PICOTM_NOTHROW size_t | strnlen_tx (const char *s, size_t maxlen) |
PICOTM_NOTHROW char * | strpbrk_tm (const char *s, const char *accept) |
PICOTM_NOTHROW char * | strpbrk_tx (const char *s, const char *accept) |
PICOTM_NOTHROW char * | strrchr_tm (const char *s, int c) |
PICOTM_NOTHROW char * | strrchr_tx (const char *s, int c) |
PICOTM_NOTHROW size_t | strspn_tm (const char *s, const char *accept) |
PICOTM_NOTHROW size_t | strspn_tx (const char *s, const char *accept) |
PICOTM_NOTHROW char * | strstr_tm (const char *haystack, const char *needle) |
PICOTM_NOTHROW char * | strstr_tx (const char *haystack, const char *needle) |
PICOTM_NOTHROW char * | strtok_r_tm (char *restrict str, const char *restrict delim, char **restrict saveptr) |
PICOTM_NOTHROW char * | strtok_r_tx (char *restrict str, const char *restrict delim, char **restrict saveptr) |
PICOTM_NOTHROW void | sync_tx (void) |
PICOTM_NOTHROW int | unlink_tm (const char *path) |
PICOTM_NOTHROW int | unlink_tx (const char *path) |
PICOTM_NOTHROW int | vsnprintf_tm (char *restrict s, size_t n, const char *restrict format, va_list ap) |
PICOTM_NOTHROW int | vsnprintf_tx (char *restrict s, size_t n, const char *restrict format, va_list ap) |
PICOTM_NOTHROW int | vsscanf_tm (const char *restrict s, const char *restrict format, va_list arg) |
PICOTM_NOTHROW int | vsscanf_tx (const char *restrict s, const char *restrict format, va_list arg) |
PICOTM_NOTHROW ssize_t | write_tm (int fildes, const void *buf, size_t nbyte) |
PICOTM_NOTHROW ssize_t | write_tx (int fildes, const void *buf, size_t nbyte) |
The C Standard Library Module covers many features of the C Standard Library and the POSIX standard.
The C Standard Library module provides transaction-safe errno as errno_tx. With a few exceptions, the transactional functions will handle errors for you. Only rarely you should have a need to examine the errno status. If accessed, the errno value is saved and restored during aborts.
The C Standard library module can handle signals automatically and execute recovery for a signal.
You can allocate memory with malloc_tx(), calloc_tx() or posix_memalign_tx(). The allocation is transaction-safe. On aborts, allocated memory blocks will automatically be released. To explicitly release a block of memory call free_tx(). If the transaction aborts afterwards, the released memory block will be available again. For reallocations call realloc_tx(). This call combines memory allocation and releases in a single function.
The C Standard Library module supports a wide range of string and memory helpers, such as strcpy(), strdup(), memmove(), or memcmp().
File descriptors can be used transactionally. The module protects file descriptors, open file description, and file buffer; if possible. Call open_tx() and close_tx() to open and close files within a transaction.
File content is read with read_tx() or pread_tx(), and written with write_tx() or pwrite_tx(). Depending on the operation, the file position is updated.
The module also supports FIFO and socket buffers; although some operations require irrevocability.
The file system is already a shared resource. Since the module only supports process-local transactions, at least POSIX-like semantics are available. For example, link_tx() is performed immediately and atomically, or temporary files created with mkstemp_tx() are removed automatically on aborts.
#define errno_tx |
A transaction-safe implementation of errno.
enum picotm_libc_cc_mode |
The error-recovery strategy for system calls.
Each module detects errors and initiates recovery. Sometimes reported errors are not failures of the component, but expected corner cases. For example 'read()' on non-blocking file descriptors signals EAGAIN
if there's no data available.
The libc modules has to distiguish such cases from actual errors to decide when to initiate recovery. enum picotm_libc_error_recovery
is a list of possible strategies.
It is recommended to use PICOTM_LIBC_ERROR_RECOVERY_AUTO
.
Enumerator | |
---|---|
PICOTM_LIBC_ERROR_RECOVERY_AUTO | Use heuristics to decide which errors to recover from. This is the default. |
PICOTM_LIBC_ERROR_RECOVERY_FULL | Recover from all errors. |
PICOTM_NOTHROW PICOTM_NORETURN void _exit_tx | ( | int | status | ) |
PICOTM_NOTHROW PICOTM_NORETURN void _Exit_tx | ( | int | status | ) |
PICOTM_NOTHROW PICOTM_NORETURN void abort_tx | ( | void | ) |
PICOTM_NOTHROW int accept_tm | ( | int | socket, |
struct sockaddr * | address, | ||
socklen_t * | address_len | ||
) |
Variant of accept_tx() that operates on transactional memory.
PICOTM_NOTHROW int accept_tx | ( | int | socket, |
struct sockaddr * | address, | ||
socklen_t * | address_len | ||
) |
A transaction-safe implementation of accept().
PICOTM_NOTHROW int bind_tm | ( | int | socket, |
const struct sockaddr * | address, | ||
socklen_t | address_len | ||
) |
Variant of bind_tx() that operates on transactional memory.
PICOTM_NOTHROW int bind_tx | ( | int | socket, |
const struct sockaddr * | address, | ||
socklen_t | address_len | ||
) |
A transaction-safe implementation of bind().
PICOTM_NOTHROW void* calloc_tx | ( | size_t | nmemb, |
size_t | size | ||
) |
A transaction-safe implementation of calloc().
PICOTM_NOTHROW int chdir_tm | ( | const char * | path | ) |
Variant of chdir_tx() that operates on transactional memory.
PICOTM_NOTHROW int chdir_tx | ( | const char * | path | ) |
A transaction-safe implementation of chdir().
PICOTM_NOTHROW int chmod_tm | ( | const char * | path, |
mode_t | mode | ||
) |
Variant of chmod_tx() that operates on transactional memory.
PICOTM_NOTHROW int chmod_tx | ( | const char * | path, |
mode_t | mode | ||
) |
A transaction-safe implementation of chmod().
PICOTM_NOTHROW int close_tx | ( | int | fildes | ) |
A transaction-safe implementation of close().
PICOTM_NOTHROW int connect_tm | ( | int | socket, |
const struct sockaddr * | address, | ||
socklen_t | address_len | ||
) |
Variant of connect_tx() that operates on transactional memory.
PICOTM_NOTHROW int connect_tx | ( | int | socket, |
const struct sockaddr * | address, | ||
socklen_t | address_len | ||
) |
A transaction-safe implementation of connect().
PICOTM_NOTHROW int creat_tm | ( | const char * | path, |
mode_t | mode | ||
) |
Variant of creat_tx() that operates on transactional memory.
PICOTM_NOTHROW int creat_tx | ( | const char * | path, |
mode_t | mode | ||
) |
A transaction-safe implementation of creat().
PICOTM_NOTHROW int dup2_tx | ( | int | fildes, |
int | fildes2 | ||
) |
A transaction-safe implementation of dup2().
PICOTM_NOTHROW int dup_tx | ( | int | fildes | ) |
A transaction-safe implementation of dup().
PICOTM_NOTHROW PICOTM_NORETURN void exit_tx | ( | int | status | ) |
PICOTM_NOTHROW int fchdir_tx | ( | int | fildes | ) |
A transaction-safe implementation of fchdir().
PICOTM_NOTHROW int fchmod_tx | ( | int | fildes, |
mode_t | mode | ||
) |
A transaction-safe implementation of fchmod().
PICOTM_NOTHROW int fcntl_tm | ( | int | fildes, |
int | cmd, | ||
... | |||
) |
Variant of fcntl_tx() that operates on transactional memory.
PICOTM_NOTHROW int fcntl_tx | ( | int | fildes, |
int | cmd, | ||
... | |||
) |
A transaction-safe implementation of fcntl().
PICOTM_NOTHROW void free_tm | ( | void * | ptr | ) |
Variant of free_tx() that operates on transactional memory.
PICOTM_NOTHROW void free_tx | ( | void * | ptr | ) |
A transaction-safe implementation of free().
PICOTM_NOTHROW int fstat_tm | ( | int | fildes, |
struct stat * | buf | ||
) |
Variant of fstat_tx() that operates on transactional memory.
PICOTM_NOTHROW int fstat_tx | ( | int | fildes, |
struct stat * | buf | ||
) |
A transaction-safe implementation of fstat().
PICOTM_NOTHROW int fsync_tx | ( | int | fildes | ) |
A transaction-safe implementation of fsync().
PICOTM_NOTHROW char* getcwd_tm | ( | char * | buf, |
size_t | size | ||
) |
Variant of getcwd_tx() that operates on transactional memory.
PICOTM_NOTHROW char* getcwd_tx | ( | char * | buf, |
size_t | size | ||
) |
A transaction-safe implementation of getcwd().
PICOTM_NOTHROW int link_tm | ( | const char * | path1, |
const char * | path2 | ||
) |
Variant of link_tx() that operates on transactional memory.
PICOTM_NOTHROW int link_tx | ( | const char * | path1, |
const char * | path2 | ||
) |
A transaction-safe implementation of link().
PICOTM_NOTHROW int listen_tx | ( | int | socket, |
int | backlog | ||
) |
A transaction-safe implementation of listen().
|
inlinestatic |
Loads a value of type ' blkcnt_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' blksize_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' bool ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' clock_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' clockid_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' dev_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' div_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' fsblkcnt_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' fsfilcnt_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' gid_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' id_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' ino_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int16_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int32_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int64_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int8_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int_fast16_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int_fast32_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int_fast64_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int_fast8_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int_least16_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int_least32_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int_least64_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' int_least8_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' intmax_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' intptr_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' key_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' ldiv_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' lldiv_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' mode_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' nlink_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' off_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' pid_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' ptrdiff_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' size_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' ssize_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' suseconds_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' time_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' timer_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uid_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint16_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint32_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint64_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint8_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint_fast16_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint_fast32_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint_fast64_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint_fast8_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint_least16_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint_least32_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint_least64_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uint_least8_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uintmax_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' uintptr_t ' with transactional semantics.
addr | The source address. |
|
inlinestatic |
Loads a value of type ' wchar_t ' with transactional semantics.
addr | The source address. |
PICOTM_NOTHROW off_t lseek_tx | ( | int | fildes, |
off_t | offset, | ||
int | whence | ||
) |
A transaction-safe implementation of lseek().
PICOTM_NOTHROW int lstat_tm | ( | const char * | path, |
struct stat * | buf | ||
) |
Variant of lstat_tx() that operates on transactional memory.
PICOTM_NOTHROW int lstat_tx | ( | const char * | path, |
struct stat * | buf | ||
) |
A transaction-safe implementation of lstat().
PICOTM_NOTHROW void* malloc_tx | ( | size_t | size | ) |
A transaction-safe implementation of malloc().
PICOTM_NOTHROW void* memccpy_tm | ( | void *restrict | dest, |
const void *restrict | src, | ||
int | c, | ||
size_t | n | ||
) |
Variant of memccpy_tx() that operates on transactional memory.
PICOTM_NOTHROW void* memccpy_tx | ( | void *restrict | dest, |
const void *restrict | src, | ||
int | c, | ||
size_t | n | ||
) |
A transaction-safe implementation of memccpy().
PICOTM_NOTHROW void* memchr_tm | ( | const void * | s, |
int | c, | ||
size_t | n | ||
) |
Variant of memcchr_tx() that operates on transactional memory.
PICOTM_NOTHROW void* memchr_tx | ( | const void * | s, |
int | c, | ||
size_t | n | ||
) |
A transaction-safe implementation of memchr().
PICOTM_NOTHROW int memcmp_tm | ( | const void * | s1, |
const void * | s2, | ||
size_t | n | ||
) |
Variant of memcmp_tx() that operates on transactional memory.
PICOTM_NOTHROW int memcmp_tx | ( | const void * | s1, |
const void * | s2, | ||
size_t | n | ||
) |
A transaction-safe implementation of memcmp().
PICOTM_NOTHROW void* memcpy_tm | ( | void *restrict | dest, |
const void *restrict | src, | ||
size_t | n | ||
) |
Variant of memcpy_tx() that operates on transactional memory.
PICOTM_NOTHROW void* memcpy_tx | ( | void *restrict | dest, |
const void *restrict | src, | ||
size_t | n | ||
) |
A transaction-safe implementation of memcpy().
PICOTM_NOTHROW void* memmove_tm | ( | void * | dest, |
const void * | src, | ||
size_t | n | ||
) |
Variant of memmove_tx() that operates on transactional memory.
PICOTM_NOTHROW void* memmove_tx | ( | void * | dest, |
const void * | src, | ||
size_t | n | ||
) |
A transaction-safe implementation of memmove().
PICOTM_NOTHROW void* memrchr_tm | ( | const void * | s, |
int | c, | ||
size_t | n | ||
) |
Variant of memrchr_tx() that operates on transactional memory.
PICOTM_NOTHROW void* memrchr_tx | ( | const void * | s, |
int | c, | ||
size_t | n | ||
) |
A transaction-safe implementation of memrchr().
PICOTM_NOTHROW void* memset_tm | ( | void * | s, |
int | c, | ||
size_t | n | ||
) |
Variant of memset_tx() that operates on transactional memory.
PICOTM_NOTHROW void* memset_tx | ( | void * | s, |
int | c, | ||
size_t | n | ||
) |
A transaction-safe implementation of memset().
PICOTM_NOTHROW int mkdir_tm | ( | const char * | path, |
mode_t | mode | ||
) |
Variant of mkdir_tx() that operates on transactional memory.
PICOTM_NOTHROW int mkdir_tx | ( | const char * | path, |
mode_t | mode | ||
) |
A transaction-safe implementation of mkdir().
PICOTM_NOTHROW char * mkdtemp_tm | ( | char * | template | ) |
Variant of mkdtemp_tx() that operates on transactional memory.
Variant of mkdtemp_tx() that operates on transactional memory on Darwin systems.
PICOTM_NOTHROW char * mkdtemp_tx | ( | char * | template | ) |
PICOTM_NOTHROW int mkfifo_tm | ( | const char * | path, |
mode_t | mode | ||
) |
Variant of mkfifo_tx() that operates on transactional memory.
PICOTM_NOTHROW int mkfifo_tx | ( | const char * | path, |
mode_t | mode | ||
) |
A transaction-safe implementation of mkfifo().
PICOTM_NOTHROW int mknod_tm | ( | const char * | path, |
mode_t | mode, | ||
dev_t | dev | ||
) |
Variant of mknod_tx() that operates on transactional memory.
PICOTM_NOTHROW int mknod_tx | ( | const char * | path, |
mode_t | mode, | ||
dev_t | dev | ||
) |
A transaction-safe implementation of mknod().
PICOTM_NOTHROW int mkstemp_tm | ( | char * | template | ) |
Variant of mkstemp_tx() that operates on transactional memory.
PICOTM_NOTHROW int mkstemp_tx | ( | char * | template | ) |
A transaction-safe implementation of mkstemp().
PICOTM_NOTHROW int open_tm | ( | const char * | path, |
int | oflag, | ||
... | |||
) |
Variant of open_tx() that operates on transactional memory.
PICOTM_NOTHROW int open_tx | ( | const char * | path, |
int | oflag, | ||
... | |||
) |
A transaction-safe implementation of open().
PICOTM_NOTHROW void picotm_libc_acquire_proc_signal | ( | int | signum, |
void(*)(int, siginfo_t *, void *) | nontx_sigaction, | ||
struct picotm_error * | error | ||
) |
signum | The number of the signal to acquire. | |
nontx_sigaction | The signal-handler function for non-transactional code. | |
[out] | error | Returns an error to the caller. |
A call to picotm_libc_acquire_proc_signal()
takes over the handling of a signal from the process. After a call to this function, picotm handles the acquired signal.
PICOTM_NOTHROW void picotm_libc_add_signal | ( | int | signum, |
_Bool | is_recoverable, | ||
struct picotm_error * | error | ||
) |
signum | The signal number. | |
is_recoverable | Send a recoverable error to the transaction. | |
[out] | error | Returns an error to the caller. |
A call to picotm_libc_add_signal()
enables transaction-safe signal handling for the specified signal on the current thread. Enabled signals have to be acquired with a call to picotm_libc_acquire_proc_signal()
first.
is_recoverable
, marks the signal-generated error as recoverable. Because signals can happen at any time, it is generally unsafe to treat signal errors as recoverable. This parameter should be set to false. PICOTM_NOTHROW enum picotm_libc_error_recovery picotm_libc_get_error_recovery | ( | void | ) |
Returns the strategy for deciding when to recover from errors.
PICOTM_NOTHROW enum picotm_libc_cc_mode picotm_libc_get_file_type_cc_mode | ( | enum picotm_libc_file_type | file_type | ) |
Returns the currently preferred mode of concurrency control for I/O on a specific file type.
file_type | The file type to get the CC mode from. |
PICOTM_NOTHROW void picotm_libc_release_proc_signal | ( | int | signum, |
struct picotm_error * | error | ||
) |
signum | The number of the signal to release. | |
[out] | error | Returns an error to the caller. |
A call to picotm_libc_release_proc_signal()
returns an acquired signal back to the process. It restores the signal's signal-handler settings that have been saved by picotm_libc_acquire_proc_signal()
.
PICOTM_NOTHROW void picotm_libc_remove_signal | ( | int | signum | ) |
signum | The signal number. |
PICOTM_NOTHROW void picotm_libc_save_errno | ( | void | ) |
Saves the value of 'errno' during a transaction. Module authors should call this function before invoking a function that might modify errno's value.
PICOTM_NOTHROW void picotm_libc_set_error_recovery | ( | enum picotm_libc_error_recovery | recovery | ) |
Sets the strategy for deciding when to recover from errors.
recovery | The error-recovering strategy. |
PICOTM_NOTHROW void picotm_libc_set_file_type_cc_mode | ( | enum picotm_libc_file_type | file_type, |
enum picotm_libc_cc_mode | cc_mode | ||
) |
Sets the preferred mode of concurrency control for I/O on a specific file type.
file_type | The file type to set the CC mode for. |
cc_mode | The CC mode. |
PICOTM_NOTHROW int pipe_tm | ( | int | fildes[2] | ) |
Variant of pipe_tx() that operates on transactional memory.
PICOTM_NOTHROW int pipe_tx | ( | int | fildes[2] | ) |
A transaction-safe implementation of pipe().
PICOTM_NOTHROW int posix_memalign_tm | ( | void ** | memptr, |
size_t | alignment, | ||
size_t | size | ||
) |
Variant of posix_memalign_tx() that operates on transactional memory.
PICOTM_NOTHROW int posix_memalign_tx | ( | void ** | memptr, |
size_t | alignment, | ||
size_t | size | ||
) |
A transaction-safe implementation of posix_memalign().
PICOTM_NOTHROW ssize_t pread_tm | ( | int | fildes, |
void * | buf, | ||
size_t | nbyte, | ||
off_t | offset | ||
) |
Variant of pread_tx() that operates on transactional memory.
PICOTM_NOTHROW ssize_t pread_tx | ( | int | fildes, |
void * | buf, | ||
size_t | nbyte, | ||
off_t | offset | ||
) |
A transaction-safe implementation of pread().
|
inlinestatic |
Privatizes a value of type ' blkcnt_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' blksize_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' bool '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' clock_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' clockid_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' dev_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' div_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' fsblkcnt_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' fsfilcnt_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' gid_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' id_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' ino_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int16_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int32_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int64_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int8_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int_fast16_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int_fast32_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int_fast64_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int_fast8_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int_least16_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int_least32_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int_least64_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' int_least8_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' intmax_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' intptr_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' key_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' ldiv_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' lldiv_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' mode_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' nlink_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' off_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' pid_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' ptrdiff_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' size_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' ssize_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' suseconds_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' time_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' timer_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uid_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint16_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint32_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint64_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint8_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint_fast16_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint_fast32_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint_fast64_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint_fast8_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint_least16_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint_least32_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint_least64_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uint_least8_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uintmax_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' uintptr_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
|
inlinestatic |
Privatizes a value of type ' wchar_t '.
addr | The address to privatize. |
flags | Privatizes for loading and/or storing. Not setting flags discards the buffer. |
PICOTM_NOTHROW ssize_t pwrite_tm | ( | int | fildes, |
const void * | buf, | ||
size_t | nbyte, | ||
off_t | offset | ||
) |
Variant of pwrite_tx() that operates on transactional memory.
PICOTM_NOTHROW ssize_t pwrite_tx | ( | int | fildes, |
const void * | buf, | ||
size_t | nbyte, | ||
off_t | offset | ||
) |
A transaction-safe implementation of pwrite().
PICOTM_NOTHROW void qsort_tm | ( | void * | base, |
size_t | nel, | ||
size_t | width, | ||
int(*)(const void *, const void *) | compar | ||
) |
Variant of qsort_tx() that operates on transactional memory.
PICOTM_NOTHROW void qsort_tx | ( | void * | base, |
size_t | nel, | ||
size_t | width, | ||
int(*)(const void *, const void *) | compar | ||
) |
A transaction-safe implementation of qsort().
PICOTM_NOTHROW int rand_r_tm | ( | unsigned int * | seed | ) |
Variant of rand_r_tx() that operates on transactional memory.
PICOTM_NOTHROW int rand_r_tx | ( | unsigned int * | seed | ) |
A transaction-safe implementation of rand_r().
PICOTM_NOTHROW void* rawmemchr_tm | ( | const void * | s, |
int | c | ||
) |
Variant of rawmemchr_tx() that operates on transactional memory.
PICOTM_NOTHROW void* rawmemchr_tx | ( | const void * | s, |
int | c | ||
) |
A transaction-safe implementation of rawmemchr().
PICOTM_NOTHROW ssize_t read_tm | ( | int | fildes, |
void * | buf, | ||
size_t | nbyte | ||
) |
Variant of read_tx() that operates on transactional memory.
PICOTM_NOTHROW ssize_t read_tx | ( | int | fildes, |
void * | buf, | ||
size_t | nbyte | ||
) |
A transaction-safe implementation of read().
PICOTM_NOTHROW void* realloc_tm | ( | void * | ptr, |
size_t | size | ||
) |
Variant of realloc_tx() that operates on transactional memory.
PICOTM_NOTHROW void* realloc_tx | ( | void * | ptr, |
size_t | size | ||
) |
A transaction-safe implementation of realloc().
PICOTM_NOTHROW ssize_t recv_tm | ( | int | socket, |
void * | buffer, | ||
size_t | length, | ||
int | flags | ||
) |
Variant of recv_tx() that operates on transactional memory.
PICOTM_NOTHROW ssize_t recv_tx | ( | int | socket, |
void * | buffer, | ||
size_t | length, | ||
int | flags | ||
) |
A transaction-safe implementation of recv().
PICOTM_NOTHROW int sched_yield_tx | ( | void | ) |
A transaction-safe implementation of sched_yield().
PICOTM_NOTHROW ssize_t send_tm | ( | int | socket, |
const void * | buffer, | ||
size_t | length, | ||
int | flags | ||
) |
Variant of send_tx() that operates on transactional memory.
PICOTM_NOTHROW ssize_t send_tx | ( | int | socket, |
const void * | buffer, | ||
size_t | length, | ||
int | flags | ||
) |
A transaction-safe implementation of send().
PICOTM_NOTHROW int shutdown_tx | ( | int | socket, |
int | how | ||
) |
A transaction-safe implementation of shutdown().
PICOTM_NOTHROW unsigned sleep_tx | ( | unsigned | seconds | ) |
A transaction-safe implementation of sleep().
PICOTM_NOTHROW int snprintf_tm | ( | char *restrict | s, |
size_t | n, | ||
const char *restrict | format, | ||
... | |||
) |
A transaction-safe implementation of snprintf().
PICOTM_NOTHROW int snprintf_tx | ( | char *restrict | s, |
size_t | n, | ||
const char *restrict | format, | ||
... | |||
) |
A transaction-safe implementation of snprintf().
PICOTM_NOTHROW int socket_tx | ( | int | domain, |
int | type, | ||
int | protocol | ||
) |
A transaction-safe implementation of socket().
PICOTM_NOTHROW int sscanf_tm | ( | const char *restrict | s, |
const char *restrict | format, | ||
... | |||
) |
A transaction-safe implementation of sscanf().
PICOTM_NOTHROW int sscanf_tx | ( | const char *restrict | s, |
const char *restrict | format, | ||
... | |||
) |
A transaction-safe implementation of sscanf().
PICOTM_NOTHROW int stat_tm | ( | const char * | path, |
struct stat * | buf | ||
) |
Variant of stat_tx() that operates on transactional memory.
PICOTM_NOTHROW int stat_tx | ( | const char * | path, |
struct stat * | buf | ||
) |
A transaction-safe implementation of stat().
|
inlinestatic |
Stores a value of type ' blkcnt_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' blksize_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' bool ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' clock_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' clockid_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' dev_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' div_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' fsblkcnt_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' fsfilcnt_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' gid_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' id_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' ino_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int16_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int32_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int64_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int8_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int_fast16_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int_fast32_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int_fast64_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int_fast8_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int_least16_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int_least32_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int_least64_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' int_least8_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' intmax_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' intptr_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' key_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' ldiv_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' lldiv_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' mode_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' nlink_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' off_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' pid_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' ptrdiff_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' size_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' ssize_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' suseconds_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' time_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' timer_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uid_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint16_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint32_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint64_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint8_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint_fast16_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint_fast32_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint_fast64_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint_fast8_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint_least16_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint_least32_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint_least64_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uint_least8_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uintmax_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' uintptr_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
|
inlinestatic |
Stores a value of type ' wchar_t ' with transactional semantics.
addr | The destination address. |
value | The value to store at 'addr'. |
PICOTM_NOTHROW char* stpcpy_tm | ( | char *restrict | dest, |
const char *restrict | src | ||
) |
Variant of stpcpy_tx() that operates on transactional memory.
PICOTM_NOTHROW char* stpcpy_tx | ( | char *restrict | dest, |
const char *restrict | src | ||
) |
A transaction-safe implementation of stpcpy().
PICOTM_NOTHROW char* stpncpy_tm | ( | char *restrict | dest, |
const char *restrict | src, | ||
size_t | n | ||
) |
Variant of stpncpy_tx() that operates on transactional memory.
PICOTM_NOTHROW char* stpncpy_tx | ( | char *restrict | dest, |
const char *restrict | src, | ||
size_t | n | ||
) |
A transaction-safe implementation of stpncpy().
PICOTM_NOTHROW char* strcat_tm | ( | char *restrict | dest, |
const char *restrict | src | ||
) |
Variant of strcat_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strcat_tx | ( | char *restrict | dest, |
const char *restrict | src | ||
) |
A transaction-safe implementation of strcat().
PICOTM_NOTHROW char* strchr_tm | ( | const char * | s, |
int | c | ||
) |
Variant of strchr_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strchr_tx | ( | const char * | s, |
int | c | ||
) |
A transaction-safe implementation of [strchr()][posix::strchr_tx].
PICOTM_NOTHROW int strcmp_tm | ( | const char * | s1, |
const char * | s2 | ||
) |
Variant of strcmp_tx() that operates on transactional memory.
PICOTM_NOTHROW int strcmp_tx | ( | const char * | s1, |
const char * | s2 | ||
) |
A transaction-safe implementation of strcmp().
PICOTM_NOTHROW int strcoll_l_tm | ( | const char * | s1, |
const char * | s2, | ||
locale_t | locale | ||
) |
Variant of strcoll_l_tx() that operates on transactional memory.
PICOTM_NOTHROW int strcoll_l_tx | ( | const char * | s1, |
const char * | s2, | ||
locale_t | locale | ||
) |
A transaction-safe implementation of strcoll_l().
PICOTM_NOTHROW char* strcpy_tm | ( | char *restrict | dest, |
const char *restrict | src | ||
) |
Variant of strcpy_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strcpy_tx | ( | char *restrict | dest, |
const char *restrict | src | ||
) |
A transaction-safe implementation of strcpy().
PICOTM_NOTHROW size_t strcspn_tm | ( | const char * | s, |
const char * | reject | ||
) |
Variant of strcspn_tx() that operates on transactional memory.
PICOTM_NOTHROW size_t strcspn_tx | ( | const char * | s, |
const char * | reject | ||
) |
A transaction-safe implementation of strcspn().
PICOTM_NOTHROW char* strdup_tm | ( | const char * | s | ) |
Variant of strdup_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strdup_tx | ( | const char * | s | ) |
A transaction-safe implementation of strdup().
PICOTM_NOTHROW size_t strlen_tm | ( | const char * | s | ) |
Variant of strlen_tx() that operates on transactional memory.
PICOTM_NOTHROW size_t strlen_tx | ( | const char * | s | ) |
A transaction-safe implementation of strlen().
PICOTM_NOTHROW char* strncat_tm | ( | char *restrict | dest, |
const char *restrict | src, | ||
size_t | n | ||
) |
Variant of strncat_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strncat_tx | ( | char *restrict | dest, |
const char *restrict | src, | ||
size_t | n | ||
) |
A transaction-safe implementation of strncat().
PICOTM_NOTHROW int strncmp_tm | ( | const char * | s1, |
const char * | s2, | ||
size_t | n | ||
) |
Variant of strncmp_tx() that operates on transactional memory.
PICOTM_NOTHROW int strncmp_tx | ( | const char * | s1, |
const char * | s2, | ||
size_t | n | ||
) |
A transaction-safe implementation of strncmp().
PICOTM_NOTHROW char* strncpy_tm | ( | char *restrict | dest, |
const char *restrict | src, | ||
size_t | n | ||
) |
Variant of strncpy_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strncpy_tx | ( | char *restrict | dest, |
const char *restrict | src, | ||
size_t | n | ||
) |
A transaction-safe implementation of strncpy().
PICOTM_NOTHROW char* strndup_tm | ( | const char * | s, |
size_t | n | ||
) |
Variant of strndup_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strndup_tx | ( | const char * | s, |
size_t | n | ||
) |
A transaction-safe implementation of strndup().
PICOTM_NOTHROW size_t strnlen_tm | ( | const char * | s, |
size_t | maxlen | ||
) |
Variant of strnlen_tx() that operates on transactional memory.
PICOTM_NOTHROW size_t strnlen_tx | ( | const char * | s, |
size_t | maxlen | ||
) |
A transaction-safe implementation of strnlen().
PICOTM_NOTHROW char* strpbrk_tm | ( | const char * | s, |
const char * | accept | ||
) |
Variant of strpbrk_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strpbrk_tx | ( | const char * | s, |
const char * | accept | ||
) |
A transaction-safe implementation of strpbrk().
PICOTM_NOTHROW char* strrchr_tm | ( | const char * | s, |
int | c | ||
) |
Variant of strrchr_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strrchr_tx | ( | const char * | s, |
int | c | ||
) |
A transaction-safe implementation of strrchr().
PICOTM_NOTHROW size_t strspn_tm | ( | const char * | s, |
const char * | accept | ||
) |
Variant of strspn_tx() that operates on transactional memory.
PICOTM_NOTHROW size_t strspn_tx | ( | const char * | s, |
const char * | accept | ||
) |
A transaction-safe implementation of strspn().
PICOTM_NOTHROW char* strstr_tm | ( | const char * | haystack, |
const char * | needle | ||
) |
Variant of strstr_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strstr_tx | ( | const char * | haystack, |
const char * | needle | ||
) |
A transaction-safe implementation of strstr().
PICOTM_NOTHROW char* strtok_r_tm | ( | char *restrict | str, |
const char *restrict | delim, | ||
char **restrict | saveptr | ||
) |
Variant of strtok_r_tx() that operates on transactional memory.
PICOTM_NOTHROW char* strtok_r_tx | ( | char *restrict | str, |
const char *restrict | delim, | ||
char **restrict | saveptr | ||
) |
A transaction-safe implementation of strtok_r().
PICOTM_NOTHROW void sync_tx | ( | void | ) |
A transaction-safe implementation of sync().
PICOTM_NOTHROW int unlink_tm | ( | const char * | path | ) |
Variant of unlink_tx() that operates on transactional memory.
PICOTM_NOTHROW int unlink_tx | ( | const char * | path | ) |
A transaction-safe implementation of unlink().
PICOTM_NOTHROW int vsnprintf_tm | ( | char *restrict | s, |
size_t | n, | ||
const char *restrict | format, | ||
va_list | ap | ||
) |
A transaction-safe implementation of vsnprintf().
PICOTM_NOTHROW int vsnprintf_tx | ( | char *restrict | s, |
size_t | n, | ||
const char *restrict | format, | ||
va_list | ap | ||
) |
A transaction-safe implementation of vsnprintf().
PICOTM_NOTHROW int vsscanf_tm | ( | const char *restrict | s, |
const char *restrict | format, | ||
va_list | arg | ||
) |
A transaction-safe implementation of vsscanf().
PICOTM_NOTHROW int vsscanf_tx | ( | const char *restrict | s, |
const char *restrict | format, | ||
va_list | arg | ||
) |
A transaction-safe implementation of vsscanf().
PICOTM_NOTHROW ssize_t write_tm | ( | int | fildes, |
const void * | buf, | ||
size_t | nbyte | ||
) |
Variant of write_tx() that operates on transactional memory.
PICOTM_NOTHROW ssize_t write_tx | ( | int | fildes, |
const void * | buf, | ||
size_t | nbyte | ||
) |
A transaction-safe implementation of write().