[BACK]Return to compat_linux.h CVS log [TXT][DIR] Up to [local] / sys / arch / zaurus / stand / zbsdmod

Annotation of sys/arch/zaurus/stand/zbsdmod/compat_linux.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: compat_linux.h,v 1.5 2006/01/15 17:58:27 deraadt Exp $        */
        !             2:
        !             3: /*
        !             4:  * Copyright (c) 2005 Uwe Stuehler <uwe@bsdx.de>
        !             5:  *
        !             6:  * Permission to use, copy, modify, and distribute this software for any
        !             7:  * purpose with or without fee is hereby granted, provided that the above
        !             8:  * copyright notice and this permission notice appear in all copies.
        !             9:  *
        !            10:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
        !            11:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
        !            12:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
        !            13:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
        !            14:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
        !            15:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
        !            16:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
        !            17:  */
        !            18:
        !            19: #if 0
        !            20:
        !            21: /* Define these unconditionally to get the .modinfo section. */
        !            22: #undef __KERNEL__
        !            23: #undef MODULE
        !            24: #define __KERNEL__
        !            25: #define MODULE
        !            26:
        !            27: /* Standard headers for Linux LKMs */
        !            28: #include <linux/kernel.h>
        !            29: #include <linux/modsetver.h>
        !            30: #include <linux/module.h>
        !            31:
        !            32: /*
        !            33:  * Include Linux 2.4.x headers.
        !            34:  */
        !            35: #include <linux/elf.h>
        !            36: #include <linux/errno.h>
        !            37: #include <linux/fs.h>
        !            38: #include <linux/pagemap.h>
        !            39: #include <linux/file.h>
        !            40: #include <linux/slab.h>
        !            41: #include <asm/mach/map.h>
        !            42:
        !            43: #else
        !            44:
        !            45: /*
        !            46:  * Declare the things that we need from the Linux headers.
        !            47:  */
        !            48:
        !            49: #define        IS_ERR(ptr)     ((unsigned long)(ptr) > (unsigned long)-1000L)
        !            50:
        !            51: #define MKDEV(ma,mi)   ((ma)<<8 | (mi))
        !            52:
        !            53: #define S_IFBLK                0060000
        !            54: #define S_IFCHR                0020000
        !            55:
        !            56: struct file;
        !            57: struct inode;
        !            58:
        !            59: typedef long loff_t;
        !            60: typedef long ssize_t;
        !            61: typedef unsigned long size_t;
        !            62:
        !            63: struct file_operations {
        !            64:        struct module *owner;
        !            65:        void (*llseek) (void);
        !            66:        ssize_t (*read) (struct file *, char *, size_t, loff_t *);
        !            67:        ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
        !            68:        void (*readdir) (void);
        !            69:        void (*poll) (void);
        !            70:        void (*ioctl) (void);
        !            71:        void (*mmap) (void);
        !            72:        int (*open) (struct inode *, struct file *);
        !            73:        void (*flush) (void);
        !            74:        int (*release) (struct inode *, struct file *);
        !            75:        void (*fsync) (void);
        !            76:        void (*fasync) (void);
        !            77:        void (*lock) (void);
        !            78:        void (*readv) (void);
        !            79:        void (*writev) (void);
        !            80:        void (*sendpage) (void);
        !            81:        void (*get_unmapped_area)(void);
        !            82: #ifdef MAGIC_ROM_PTR
        !            83:        void (*romptr) (void);
        !            84: #endif /* MAGIC_ROM_PTR */
        !            85: };
        !            86:
        !            87: extern struct file * open_exec(const char *);
        !            88: extern void fput(struct file *);
        !            89: extern int kernel_read(struct file *, unsigned long, char *, unsigned long);
        !            90: extern int memcmp(const void *, const void *, size_t);
        !            91: extern int register_chrdev(unsigned int, const char *, struct file_operations *);
        !            92: extern int unregister_chrdev(unsigned int, const char *);
        !            93: extern void printk(const char *, ...);
        !            94: extern void *memcpy(void *, const void *, size_t);
        !            95:
        !            96: /* BSD headers */
        !            97: #include <sys/exec_elf.h>
        !            98: #include <sys/types.h>
        !            99: #include <errno.h>
        !           100:
        !           101: /* Linux LKM support */
        !           102: static const char __module_kernel_version[] __attribute__((section(".modinfo"))) =
        !           103: "kernel_version=" UTS_RELEASE;
        !           104: #if 1 /* def MODVERSIONS */
        !           105: static const char __module_using_checksums[] __attribute__((section(".modinfo"))) =
        !           106: "using_checksums=1";
        !           107: #endif
        !           108:
        !           109: /* procfs support */
        !           110: struct proc_dir_entry {
        !           111:         unsigned short low_ino;
        !           112:         unsigned short namelen;
        !           113:         const char *name;
        !           114:         unsigned short mode;
        !           115:         unsigned short nlink;
        !           116:         unsigned short uid;
        !           117:         unsigned short gid;
        !           118:         unsigned long size;
        !           119:         void *proc_iops; /* inode operations */
        !           120:         struct file_operations * proc_fops;
        !           121:         void *get_info;
        !           122:         struct module *owner;
        !           123:         struct proc_dir_entry *next, *parent, *subdir;
        !           124:         void *data;
        !           125:         void *read_proc;
        !           126:         void *write_proc;
        !           127:         volatile int count;
        !           128:         int deleted;
        !           129:         unsigned short rdev;
        !           130: };
        !           131: extern struct proc_dir_entry proc_root;
        !           132: extern struct proc_dir_entry *proc_mknod(const char*, unsigned short,
        !           133:     struct proc_dir_entry*, unsigned short);
        !           134: extern void remove_proc_entry(const char *, struct proc_dir_entry *);
        !           135:
        !           136: #endif

CVSweb