system.h
author Mathieu Lacage <mathieu.lacage@alcmeon.com>
Sat, 23 Feb 2013 20:59:51 +0100
changeset 656 e4817d48962f
parent 243 4909db168430
permissions -rw-r--r--
basic test for tls
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
9c494e553ab8 wrapper around syscalls
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
#ifndef SYSTEM_H
9c494e553ab8 wrapper around syscalls
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
#define SYSTEM_H
9c494e553ab8 wrapper around syscalls
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
9c494e553ab8 wrapper around syscalls
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
#include <stdint.h>
9c494e553ab8 wrapper around syscalls
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
#include <sys/types.h>
19
81ba45397f67 start file loading.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 11
diff changeset
     6
#include <sys/stat.h>
231
41ad566b03d8 lock dlopen/dlclose
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 219
diff changeset
     7
#include <sys/time.h>
72
b8b5e0ff2994 system_set_thread_area
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 19
diff changeset
     8
#include <linux/unistd.h>
b8b5e0ff2994 system_set_thread_area
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 19
diff changeset
     9
5
9c494e553ab8 wrapper around syscalls
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
19
81ba45397f67 start file loading.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 11
diff changeset
    11
void *system_mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset);
219
dada1f12a458 fix return type of munmap and add getpagesize
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 77
diff changeset
    12
int system_munmap (uint8_t *start, size_t size);
19
81ba45397f67 start file loading.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 11
diff changeset
    13
int system_mprotect (const void *addr, size_t len, int prot);
11
3f8127aba22f add logging framework, initialize it from LD_DEBUG
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 5
diff changeset
    14
void system_write (int fd, const void *buf, size_t size);
19
81ba45397f67 start file loading.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 11
diff changeset
    15
int system_open_ro (const char *file);
81ba45397f67 start file loading.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 11
diff changeset
    16
int system_read (int fd, void *buffer, size_t to_read);
81ba45397f67 start file loading.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 11
diff changeset
    17
int system_lseek (int fd, off_t offset, int whence);
81ba45397f67 start file loading.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 11
diff changeset
    18
int system_fstat (const char *file, struct stat *buf);
81ba45397f67 start file loading.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 11
diff changeset
    19
void system_close (int fd);
81ba45397f67 start file loading.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 11
diff changeset
    20
void system_exit (int status);
219
dada1f12a458 fix return type of munmap and add getpagesize
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 77
diff changeset
    21
int system_getpagesize (void);
231
41ad566b03d8 lock dlopen/dlclose
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 219
diff changeset
    22
void system_futex_wake (uint32_t *uaddr, uint32_t val);
41ad566b03d8 lock dlopen/dlclose
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 219
diff changeset
    23
void system_futex_wait (uint32_t *uaddr, uint32_t val);
5
9c494e553ab8 wrapper around syscalls
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
9c494e553ab8 wrapper around syscalls
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
#endif /* SYSTEM_H */