X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=libcfs%2Finclude%2Flibcfs%2Fuser-prim.h;h=eb5bb5a3132a6bd923748ad2834454311d2e5da4;hb=2bcfce77a2712960fadac2f034c1df4826780608;hp=5885728069caba134c0c1d49197d503946200b3b;hpb=8c47378b057e72d6125f4baffe8721e0734d0d3f;p=fs%2Flustre-release.git diff --git a/libcfs/include/libcfs/user-prim.h b/libcfs/include/libcfs/user-prim.h index 5885728..eb5bb5a 100644 --- a/libcfs/include/libcfs/user-prim.h +++ b/libcfs/include/libcfs/user-prim.h @@ -27,7 +27,7 @@ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. * - * Copyright (c) 2012, Intel Corporation. + * Copyright (c) 2012, 2014, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -55,10 +55,6 @@ # define EXPORT_SYMBOL(s) #endif -#ifndef __KERNEL__ - -typedef struct proc_dir_entry cfs_proc_dir_entry_t; - /* * Just present a single processor until will add thread support. */ @@ -71,61 +67,90 @@ typedef struct proc_dir_entry cfs_proc_dir_entry_t; #ifndef num_possible_cpus # define num_possible_cpus() 1 #endif +#ifndef get_cpu +# define get_cpu() 0 +#endif +#ifndef put_cpu +# define put_cpu() do {} while (0) +#endif +#ifndef NR_CPUS +# define NR_CPUS 1 +#endif +#ifndef for_each_possible_cpu +# define for_each_possible_cpu(cpu) for ((cpu) = 0; (cpu) < 1; (cpu)++) +#endif + /* * Wait Queue. */ typedef struct cfs_waitlink { - cfs_list_t sleeping; - void *process; -} cfs_waitlink_t; + struct list_head sleeping; + void *process; +} wait_queue_t; typedef struct cfs_waitq { - cfs_list_t sleepers; -} cfs_waitq_t; - -#define CFS_DECL_WAITQ(wq) cfs_waitq_t wq + struct list_head sleepers; +} wait_queue_head_t; + +#define CFS_DECL_WAITQ(wq) wait_queue_head_t wq +void init_waitqueue_head(struct cfs_waitq *waitq); +void init_waitqueue_entry_current(struct cfs_waitlink *link); +void add_wait_queue(struct cfs_waitq *waitq, struct cfs_waitlink *link); +void add_wait_queue_exclusive(struct cfs_waitq *waitq, struct cfs_waitlink *link); +void add_wait_queue_exclusive_head(struct cfs_waitq *waitq, struct cfs_waitlink *link); +void remove_wait_queue(struct cfs_waitq *waitq, struct cfs_waitlink *link); +int waitqueue_active(struct cfs_waitq *waitq); +void wake_up(struct cfs_waitq *waitq); +void wake_up_nr(struct cfs_waitq *waitq, int nr); +void wake_up_all(struct cfs_waitq *waitq); +void waitq_wait(struct cfs_waitlink *link, long state); +int64_t waitq_timedwait(struct cfs_waitlink *link, long state, int64_t timeout); +void schedule_timeout_and_set_state(long state, int64_t timeout); +void cfs_pause(cfs_duration_t d); +int need_resched(void); +void cond_resched(void); /* * Task states */ -typedef long cfs_task_state_t; - -#define CFS_TASK_INTERRUPTIBLE (0) -#define CFS_TASK_UNINT (1) -#define CFS_TASK_RUNNING (2) +#define TASK_INTERRUPTIBLE (0) +#define TASK_UNINTERRUPTIBLE (1) +#define TASK_RUNNING (2) -static inline void cfs_schedule(void) {} -static inline void cfs_schedule_timeout(int64_t t) {} +static inline void schedule(void) {} +static inline void schedule_timeout(int64_t t) {} +static inline void set_current_state(int state) +{ +} /* * Lproc */ -typedef int (cfs_read_proc_t)(char *page, char **start, off_t off, - int count, int *eof, void *data); +typedef int (read_proc_t)(char *page, char **start, off_t off, + int count, int *eof, void *data); struct file; /* forward ref */ -typedef int (cfs_write_proc_t)(struct file *file, const char *buffer, +typedef int (write_proc_t)(struct file *file, const char *buffer, unsigned long count, void *data); /* * Signal */ -typedef sigset_t cfs_sigset_t; /* * Timer */ -typedef struct { - cfs_list_t tl_list; - void (*function)(ulong_ptr_t unused); - ulong_ptr_t data; - long expires; -} cfs_timer_t; +struct timer_list { + struct list_head tl_list; + void (*function)(ulong_ptr_t unused); + ulong_ptr_t data; + long expires; +}; -#define cfs_in_interrupt() (0) +#define in_interrupt() (0) struct miscdevice{ }; @@ -140,12 +165,9 @@ static inline int misc_deregister(struct miscdevice *foo) return 0; } -#define cfs_sigfillset(l) do {} while (0) #define cfs_recalc_sigpending(l) do {} while (0) -/* Fine, crash, but stop giving me compile warnings */ -#define cfs_kthread_run(fn,d,fmt,...) LBUG() -#define CFS_DAEMON_FLAGS 0 +#define DAEMON_FLAGS 0 #define L1_CACHE_ALIGN(x) (x) @@ -201,9 +223,7 @@ struct cfs_stack_trace { /* * Groups */ -typedef struct cfs_group_info { - -} cfs_group_info_t; +struct group_info{ }; #ifndef min # define min(x,y) ((x)<(y) ? (x) : (y)) @@ -213,46 +233,13 @@ typedef struct cfs_group_info { # define max(x,y) ((x)>(y) ? (x) : (y)) #endif -#define cfs_get_random_bytes_prim(val, size) (*val) = 0 +#define get_random_bytes(val, size) (*val) = 0 /* utility libcfs init/fini entries */ -#ifdef __WINNT__ -extern int libcfs_arch_init(void); -extern void libcfs_arch_cleanup(void); -#else /* !__WINNT__ */ static inline int libcfs_arch_init(void) { return 0; } static inline void libcfs_arch_cleanup(void) { } -/* __WINNT__ */ -#endif - -/* proc interface wrappers for non-win OS */ -#ifndef __WINNT__ -#define cfs_proc_open open -#define cfs_proc_mknod mknod -#define cfs_proc_ioctl ioctl -#define cfs_proc_close close -#define cfs_proc_read read -#define cfs_proc_write write -#define cfs_proc_fopen fopen -#define cfs_proc_fclose fclose -#define cfs_proc_fgets fgets -/* !__WINNT__ */ -#endif -/* !__KERNEL__ */ -#endif - -/* __LIBCFS_USER_PRIM_H__ */ -#endif -/* - * Local variables: - * c-indentation-style: "K&R" - * c-basic-offset: 8 - * tab-width: 8 - * fill-column: 80 - * scroll-step: 1 - * End: - */ +#endif /* __LIBCFS_USER_PRIM_H__ */