/daten/src/linux-2.4.27-rsbac-v1.2.3/rsbac/adf/daz/dazuko_call.h

Go to the documentation of this file.
00001 /* Dazuko. Check parameters of XP calls before making real calls. 00002 Written by John Ogness <jogness@antivir.de> 00003 00004 Copyright (c) 2003 H+BEDV Datentechnik GmbH 00005 All rights reserved. 00006 00007 Redistribution and use in source and binary forms, with or without 00008 modification, are permitted provided that the following conditions 00009 are met: 00010 00011 1. Redistributions of source code must retain the above copyright notice, 00012 this list of conditions and the following disclaimer. 00013 00014 2. Redistributions in binary form must reproduce the above copyright notice, 00015 this list of conditions and the following disclaimer in the documentation 00016 and/or other materials provided with the distribution. 00017 00018 3. Neither the name of Dazuko nor the names of its contributors may be used 00019 to endorse or promote products derived from this software without specific 00020 prior written permission. 00021 00022 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00023 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00024 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00025 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00026 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00027 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00028 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00029 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00030 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00031 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00032 POSSIBILITY OF SUCH DAMAGE. 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

Generated on Tue Aug 31 10:05:23 2004 for RSBAC by doxygen 1.3.8