00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
#ifndef DAZUKO_CALL_H
00036
#define DAZUKO_CALL_H
00037
00038
struct xp_mutex;
00039
struct xp_rwlock;
00040
struct xp_queue;
00041
struct xp_atomic;
00042
struct xp_file;
00043
struct dazuko_file_struct;
00044
struct xp_daemon_id;
00045
00046
int call_xp_init_mutex(
struct xp_mutex *mutex);
00047
int call_xp_down(
struct xp_mutex *mutex);
00048
int call_xp_up(
struct xp_mutex *mutex);
00049
int call_xp_destroy_mutex(
struct xp_mutex *mutex);
00050
int call_xp_init_rwlock(
struct xp_rwlock *rwlock);
00051
int call_xp_write_lock(
struct xp_rwlock *rwlock);
00052
int call_xp_write_unlock(
struct xp_rwlock *rwlock);
00053
int call_xp_read_lock(
struct xp_rwlock *rlock);
00054
int call_xp_read_unlock(
struct xp_rwlock *rlock);
00055
int call_xp_destroy_rwlock(
struct xp_rwlock *rwlock);
00056
int call_xp_init_queue(
struct xp_queue *queue);
00057
int call_xp_wait_until_condition(
struct xp_queue *queue,
int (*cfunction)(
void *),
void *cparam,
int allow_interrupt);
00058
int call_xp_notify(
struct xp_queue *queue);
00059
int call_xp_destroy_queue(
struct xp_queue *queue);
00060
void*
call_xp_malloc(size_t size);
00061
int call_xp_free(
void *ptr);
00062
int call_xp_copyin(
const void *user_src,
void *kernel_dest, size_t size);
00063
int call_xp_copyout(
const void *kernel_src,
void *user_dest, size_t size);
00064
int call_xp_verify_user_writable(
const void *user_ptr, size_t size);
00065
int call_xp_verify_user_readable(
const void *user_ptr, size_t size);
00066
int call_xp_is_absolute_path(
const char *
path);
00067
int call_xp_atomic_set(
struct xp_atomic *atomic,
int value);
00068
int call_xp_atomic_inc(
struct xp_atomic *atomic);
00069
int call_xp_atomic_dec(
struct xp_atomic *atomic);
00070
int call_xp_atomic_read(
struct xp_atomic *atomic);
00071
int call_xp_copy_file(
struct xp_file *dest,
struct xp_file *src);
00072
int call_xp_compare_file(
struct xp_file *file1,
struct xp_file *file2);
00073 #define call_xp_sys_hook xp_sys_hook
00074 #define call_xp_sys_unhook xp_sys_unhook
00075
int call_xp_file_struct_check(
struct dazuko_file_struct *dfs);
00076
int call_xp_file_struct_check_cleanup(
struct dazuko_file_struct *dfs);
00077
int call_xp_id_compare(
struct xp_daemon_id *id1,
struct xp_daemon_id *id2);
00078
int call_xp_id_free(
struct xp_daemon_id *
id);
00079
struct xp_daemon_id*
call_xp_id_copy(
struct xp_daemon_id *
id);
00080 #define call_xp_print xp_print
00081
00082
#endif