/shark/trunk/drivers/linuxc24/include/linux/pci.h |
---|
0,0 → 1,23 |
/* OIO!!! I just have PCI!!! */ |
#ifndef __PCI__ |
#define __PCI__ |
#include <kernel/kern.h> |
#include <drivers/pci.h> |
#include <drivers/../../drivers/pci/linuxpci.h> |
#include <linux/compatib.h> |
#if 0 |
#define PCI_COMMAND 0x04 /* 16 bits */ |
#define PCI_COMMAND_MASTER 0x4 /* Enable bus mastering */ |
#define PCI_LATENCY_TIMER 0x0d /* 8 bits */ |
#define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */ |
#define PCI_INTERRUPT_LINE 0x3c /* 8 bits */ |
#endif |
#endif /* PCI_H */ |
/shark/trunk/drivers/linuxc24/include/linux/compatib.h |
---|
0,0 → 1,125 |
#include <kernel/kern.h> |
#ifndef __UNIXCOMP__ |
#define __UNIXCOMP__ |
#define LINUX_VERSION_CODE 0x22000 |
#define SA_NOCLDSTOP 1 |
#define SA_SHIRQ 0x04000000 |
#define SA_STACK 0x08000000 |
#define SA_RESTART 0x10000000 |
#define SA_INTERRUPT 0x20000000 |
#define SA_NOMASK 0x40000000 |
#define SA_ONESHOT 0x80000000 |
#define PAGE_SIZE 0x400 |
/* #define USE_SHARED_IRQ */ |
struct pt_regs { |
}; /* This have to be checked... */ |
#define atomic_t int |
#ifndef NULL |
#define NULL 0 |
#endif |
#define jiffies 0 /* Has to be controlled... */ |
#define HZ 100 /* Has to be controlled... */ |
extern long unsigned int loops_per_sec; /* ... */ |
#define EISA_bus 0 /* We do not support EISA buses... */ |
#define NET_BH 1 /* ???? */ |
/* Linux Module stub emulation... */ |
#define MOD_INC_USE_COUNT /* Do nothing... */ |
#define MOD_DEC_USE_COUNT /* Do nothing... */ |
#define MOD_IN_USE 0 /* No module => never in use... */ |
#define GFP_KERNEL 0x03 /* Don't know what it is... */ |
#define GFP_ATOMIC 0x01 /* Don't know what it is... */ |
/* Linux kernel call emulation */ |
#define kmalloc(a,b) malloc(a) |
//#define printk cprintf I would like to use the kernel printk if possible... |
#define check_region(a,b) 0 |
#define request_region(a,b,c) |
/* Linux funcs emulation... */ |
#define outb_p(v,p) outp(p,v) |
#define outb(v,p) outp(p,v) |
#define outw(v,p) outpw(p,v) |
#define outl(v,p) outpd(p,v) |
#define inb_p(p) inp(p) |
#define inb(p) inp(p) |
#define inw(p) inpw(p) |
#define inl(p) inpd(p) |
#define malloc(a) kern_alloc(a) |
#define mark_bh(NET_BH) /* Don't use soft int emulation... */ |
#define cli() kern_cli() |
#define sti() kern_sti() |
#define save_flags(f) f = kern_fsave() |
#define restore_flags(f) kern_frestore(f) |
/* URKA Stubs */ |
extern void panic_stub(void); |
/* #define eth_header panic_stub */ |
#define eth_rebuild_header panic_stub |
#define eth_header_cache_bind panic_stub |
#define eth_header_cache_update panic_stub |
#define atomic_sub(a,b) |
#define vremap(a,b) 0 |
extern __inline__ int suser(void) |
{ |
return 1; |
} |
// spinlocks |
#define spinlock_t DWORD |
#define spin_lock(x) (void)(x) |
#define spin_unlock(x) (void)(x) |
#define spin_lock_irqsave(x,y) y = kern_fsave() |
#define spin_unlock_irqrestore(x,y) kern_frestore(y) |
#define spin_lock_init(x) |
#define SPIN_LOCK_UNLOCKED (spinlock_t) 0 |
extern __inline__ void panic(const char *c) |
{ |
cputs((char *)c); |
sys_end(); |
} |
/* below tuff added for rtl8139 net driver |
at some point this stuff should moved in a more conevenient place. |
*/ |
/* *** from linux-2.2.17/include/linux/compatmac.h */ |
#define capable(x) suser() |
/* *** from linux-2.2.17/include/linux/capability.h */ |
#define CAP_NET_ADMIN 12 |
/* *** from linux-2.2.17/include/linux/byteorder/little_endian.h */ |
#define __le16_to_cpu(x) ((__u16)(x)) |
/* *** from linux-2.2.17/include/linux/byteorder/generic.h */ |
#define le16_to_cpu __le16_to_cpu |
#endif |
/shark/trunk/drivers/linuxc24/include/linux/config.h |
---|
0,0 → 1,5 |
#ifndef _LINUX_CONFIG_H |
#define _LINUX_CONFIG_H |
#endif |
/shark/trunk/drivers/linuxc24/include/asm/ioctl.h |
---|
0,0 → 1,75 |
/* $Id: ioctl.h,v 1.1 2003-02-28 12:10:00 pj Exp $ |
* |
* linux/ioctl.h for Linux by H.H. Bergman. |
*/ |
#ifndef _ASMI386_IOCTL_H |
#define _ASMI386_IOCTL_H |
/* ioctl command encoding: 32 bits total, command in lower 16 bits, |
* size of the parameter structure in the lower 14 bits of the |
* upper 16 bits. |
* Encoding the size of the parameter structure in the ioctl request |
* is useful for catching programs compiled with old versions |
* and to avoid overwriting user space outside the user buffer area. |
* The highest 2 bits are reserved for indicating the ``access mode''. |
* NOTE: This limits the max parameter size to 16kB -1 ! |
*/ |
/* |
* The following is for compatibility across the various Linux |
* platforms. The i386 ioctl numbering scheme doesn't really enforce |
* a type field. De facto, however, the top 8 bits of the lower 16 |
* bits are indeed used as a type field, so we might just as well make |
* this explicit here. Please be sure to use the decoding macros |
* below from now on. |
*/ |
#define _IOC_NRBITS 8 |
#define _IOC_TYPEBITS 8 |
#define _IOC_SIZEBITS 14 |
#define _IOC_DIRBITS 2 |
#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1) |
#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1) |
#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1) |
#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1) |
#define _IOC_NRSHIFT 0 |
#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS) |
#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS) |
#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS) |
/* |
* Direction bits. |
*/ |
#define _IOC_NONE 0U |
#define _IOC_WRITE 1U |
#define _IOC_READ 2U |
#define _IOC(dir,type,nr,size) \ |
(((dir) << _IOC_DIRSHIFT) | \ |
((type) << _IOC_TYPESHIFT) | \ |
((nr) << _IOC_NRSHIFT) | \ |
((size) << _IOC_SIZESHIFT)) |
/* used to create numbers */ |
#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) |
#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) |
#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) |
#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) |
/* used to decode ioctl numbers.. */ |
#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) |
#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) |
#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) |
#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) |
/* ...and for the drivers/sound files... */ |
#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT) |
#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT) |
#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) |
#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT) |
#define IOCSIZE_SHIFT (_IOC_SIZESHIFT) |
#endif /* _ASMI386_IOCTL_H */ |
/shark/trunk/drivers/linuxc24/include/asm/ioctls.h |
---|
0,0 → 1,83 |
#ifndef __ARCH_I386_IOCTLS_H__ |
#define __ARCH_I386_IOCTLS_H__ |
#include <asm/ioctl.h> |
/* 0x54 is just a magic number to make these relatively unique ('T') */ |
#define TCGETS 0x5401 |
#define TCSETS 0x5402 |
#define TCSETSW 0x5403 |
#define TCSETSF 0x5404 |
#define TCGETA 0x5405 |
#define TCSETA 0x5406 |
#define TCSETAW 0x5407 |
#define TCSETAF 0x5408 |
#define TCSBRK 0x5409 |
#define TCXONC 0x540A |
#define TCFLSH 0x540B |
#define TIOCEXCL 0x540C |
#define TIOCNXCL 0x540D |
#define TIOCSCTTY 0x540E |
#define TIOCGPGRP 0x540F |
#define TIOCSPGRP 0x5410 |
#define TIOCOUTQ 0x5411 |
#define TIOCSTI 0x5412 |
#define TIOCGWINSZ 0x5413 |
#define TIOCSWINSZ 0x5414 |
#define TIOCMGET 0x5415 |
#define TIOCMBIS 0x5416 |
#define TIOCMBIC 0x5417 |
#define TIOCMSET 0x5418 |
#define TIOCGSOFTCAR 0x5419 |
#define TIOCSSOFTCAR 0x541A |
#define FIONREAD 0x541B |
#define TIOCINQ FIONREAD |
#define TIOCLINUX 0x541C |
#define TIOCCONS 0x541D |
#define TIOCGSERIAL 0x541E |
#define TIOCSSERIAL 0x541F |
#define TIOCPKT 0x5420 |
#define FIONBIO 0x5421 |
#define TIOCNOTTY 0x5422 |
#define TIOCSETD 0x5423 |
#define TIOCGETD 0x5424 |
#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */ |
#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */ |
#define TIOCSBRK 0x5427 /* BSD compatibility */ |
#define TIOCCBRK 0x5428 /* BSD compatibility */ |
#define TIOCGSID 0x5429 /* Return the session ID of FD */ |
#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ |
#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ |
#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ |
#define FIOCLEX 0x5451 |
#define FIOASYNC 0x5452 |
#define TIOCSERCONFIG 0x5453 |
#define TIOCSERGWILD 0x5454 |
#define TIOCSERSWILD 0x5455 |
#define TIOCGLCKTRMIOS 0x5456 |
#define TIOCSLCKTRMIOS 0x5457 |
#define TIOCSERGSTRUCT 0x5458 /* For debugging only */ |
#define TIOCSERGETLSR 0x5459 /* Get line status register */ |
#define TIOCSERGETMULTI 0x545A /* Get multiport config */ |
#define TIOCSERSETMULTI 0x545B /* Set multiport config */ |
#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */ |
#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ |
#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */ |
#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */ |
#define FIOQSIZE 0x5460 |
/* Used for packet mode */ |
#define TIOCPKT_DATA 0 |
#define TIOCPKT_FLUSHREAD 1 |
#define TIOCPKT_FLUSHWRITE 2 |
#define TIOCPKT_STOP 4 |
#define TIOCPKT_START 8 |
#define TIOCPKT_NOSTOP 16 |
#define TIOCPKT_DOSTOP 32 |
#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ |
#endif |
/shark/trunk/drivers/linuxc24/include/asm/types.h |
---|
0,0 → 1,59 |
#ifndef _I386_TYPES_H |
#define _I386_TYPES_H |
#define __signed__ signed |
typedef unsigned short umode_t; |
/* |
* __xx is ok: it doesn't pollute the POSIX namespace. Use these in the |
* header files exported to user space |
*/ |
typedef __signed__ char __s8; |
typedef unsigned char __u8; |
typedef __signed__ short __s16; |
typedef unsigned short __u16; |
typedef __signed__ int __s32; |
typedef unsigned int __u32; |
#if defined(__GNUC__) && !defined(__STRICT_ANSI__) |
typedef __signed__ long long __s64; |
typedef unsigned long long __u64; |
#endif |
/* |
* These aren't exported outside the kernel to avoid name space clashes |
*/ |
#ifdef __KERNEL__ |
#include <linux/config.h> |
typedef signed char s8; |
typedef unsigned char u8; |
typedef signed short s16; |
typedef unsigned short u16; |
typedef signed int s32; |
typedef unsigned int u32; |
typedef signed long long s64; |
typedef unsigned long long u64; |
#define BITS_PER_LONG 32 |
/* DMA addresses come in generic and 64-bit flavours. */ |
#ifdef CONFIG_HIGHMEM |
typedef u64 dma_addr_t; |
#else |
typedef u32 dma_addr_t; |
#endif |
typedef u64 dma64_addr_t; |
#endif /* __KERNEL__ */ |
#endif |
/shark/trunk/drivers/linuxc24/include/asm/io.h |
---|
0,0 → 1,75 |
#ifndef __IO__ |
#define __IO__ |
#include <linux/compatib.h> |
/* |
* Thanks to James van Artsdalen for a better timing-fix than |
* the two short jumps: using outb's to a nonexistent port seems |
* to guarantee better timings even on fast machines. |
* |
* On the other hand, I'd like to be sure of a non-existent port: |
* I feel a bit unsafe about using 0x80 (should be safe, though) |
* |
* Linus |
*/ |
#ifdef SLOW_IO_BY_JUMPING |
#define __SLOW_DOWN_IO __asm__ __volatile__("jmp 1f\n1:\tjmp 1f\n1:") |
#else |
#define __SLOW_DOWN_IO __asm__ __volatile__("outb %al,$0x80") |
#endif |
#ifdef REALLY_SLOW_IO |
#define SLOW_DOWN_IO { __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; } |
#else |
#define SLOW_DOWN_IO __SLOW_DOWN_IO |
#endif |
#define __INS(s) \ |
extern inline void ins##s(unsigned short port, void * addr, unsigned long count) \ |
{ __asm__ __volatile__ ("cld ; rep ; ins" #s \ |
: "=D" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); } |
__INS(b) |
__INS(w) |
__INS(l) |
#define __OUTS(s) \ |
extern inline void outs##s(unsigned short port, const void * addr, unsigned long count) \ |
{ __asm__ __volatile__ ("cld ; rep ; outs" #s \ |
: "=S" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); } |
__OUTS(b) |
__OUTS(w) |
__OUTS(l) |
/* Traslation from virtual to phisical address...*/ |
/* from asm/io.h */ |
#define __io_virt(x) ((void *)(x)) |
extern inline void * phys_to_virt(unsigned long address) |
{ |
return __io_virt(address); |
} |
extern __inline__ DWORD virt_to_phys(volatile void * address) |
{ |
return (DWORD)address; |
} |
#define bus_to_virt phys_to_virt |
#define virt_to_bus virt_to_phys |
#define readb(addr) (*(volatile unsigned char *) __io_virt(addr)) |
#define readw(addr) (*(volatile unsigned short *) __io_virt(addr)) |
#define readl(addr) (*(volatile unsigned int *) __io_virt(addr)) |
#define writeb(b,addr) (*(volatile unsigned char *) __io_virt(addr) = (b)) |
#define writew(b,addr) (*(volatile unsigned short *) __io_virt(addr) = (b)) |
#define writel(b,addr) (*(volatile unsigned int *) __io_virt(addr) = (b)) |
#endif |
/shark/trunk/drivers/linuxc24/include/fpu_control.h |
---|
0,0 → 1,98 |
/* FPU control word bits. i387 version. |
Copyright (C) 1993,1995,1996,1997,1998,2000,2001 Free Software Foundation, Inc. |
This file is part of the GNU C Library. |
Contributed by Olaf Flebbe. |
The GNU C Library is free software; you can redistribute it and/or |
modify it under the terms of the GNU Lesser General Public |
License as published by the Free Software Foundation; either |
version 2.1 of the License, or (at your option) any later version. |
The GNU C Library is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
Lesser General Public License for more details. |
You should have received a copy of the GNU Lesser General Public |
License along with the GNU C Library; if not, write to the Free |
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
02111-1307 USA. */ |
#ifndef _FPU_CONTROL_H |
#define _FPU_CONTROL_H 1 |
/* Here is the dirty part. Set up your 387 through the control word |
* (cw) register. |
* |
* 15-13 12 11-10 9-8 7-6 5 4 3 2 1 0 |
* | reserved | IC | RC | PC | reserved | PM | UM | OM | ZM | DM | IM |
* |
* IM: Invalid operation mask |
* DM: Denormalized operand mask |
* ZM: Zero-divide mask |
* OM: Overflow mask |
* UM: Underflow mask |
* PM: Precision (inexact result) mask |
* |
* Mask bit is 1 means no interrupt. |
* |
* PC: Precision control |
* 11 - round to extended precision |
* 10 - round to double precision |
* 00 - round to single precision |
* |
* RC: Rounding control |
* 00 - rounding to nearest |
* 01 - rounding down (toward - infinity) |
* 10 - rounding up (toward + infinity) |
* 11 - rounding toward zero |
* |
* IC: Infinity control |
* That is for 8087 and 80287 only. |
* |
* The hardware default is 0x037f which we use. |
*/ |
#include <features.h> |
/* masking of interrupts */ |
#define _FPU_MASK_IM 0x01 |
#define _FPU_MASK_DM 0x02 |
#define _FPU_MASK_ZM 0x04 |
#define _FPU_MASK_OM 0x08 |
#define _FPU_MASK_UM 0x10 |
#define _FPU_MASK_PM 0x20 |
/* precision control */ |
#define _FPU_EXTENDED 0x300 /* libm requires double extended precision. */ |
#define _FPU_DOUBLE 0x200 |
#define _FPU_SINGLE 0x0 |
/* rounding control */ |
#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */ |
#define _FPU_RC_DOWN 0x400 |
#define _FPU_RC_UP 0x800 |
#define _FPU_RC_ZERO 0xC00 |
#define _FPU_RESERVED 0xF0C0 /* Reserved bits in cw */ |
/* The fdlibm code requires strict IEEE double precision arithmetic, |
and no interrupts for exceptions, rounding to nearest. */ |
#define _FPU_DEFAULT 0x037f |
/* IEEE: same as above. */ |
#define _FPU_IEEE 0x037f |
/* Type of the control word. */ |
typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__HI__))); |
/* Macros for accessing the hardware control word. */ |
#define _FPU_GETCW(cw) __asm__ ("fnstcw %0" : "=m" (*&cw)) |
#define _FPU_SETCW(cw) __asm__ ("fldcw %0" : : "m" (*&cw)) |
/* Default control word set at startup. */ |
extern fpu_control_t __fpu_control; |
#endif /* fpu_control.h */ |
/shark/trunk/drivers/linuxc24/include/bits/ioctl-types.h |
---|
0,0 → 1,78 |
/* Structure types for pre-termios terminal ioctls. Linux version. |
Copyright (C) 1996, 1997, 1999, 2001 Free Software Foundation, Inc. |
This file is part of the GNU C Library. |
The GNU C Library is free software; you can redistribute it and/or |
modify it under the terms of the GNU Lesser General Public |
License as published by the Free Software Foundation; either |
version 2.1 of the License, or (at your option) any later version. |
The GNU C Library is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
Lesser General Public License for more details. |
You should have received a copy of the GNU Lesser General Public |
License along with the GNU C Library; if not, write to the Free |
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
02111-1307 USA. */ |
#ifndef _SYS_IOCTL_H |
# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead." |
#endif |
/* Get definition of constants for use with `ioctl'. */ |
#include <asm/ioctls.h> |
struct winsize |
{ |
unsigned short int ws_row; |
unsigned short int ws_col; |
unsigned short int ws_xpixel; |
unsigned short int ws_ypixel; |
}; |
#define NCC 8 |
struct termio |
{ |
unsigned short int c_iflag; /* input mode flags */ |
unsigned short int c_oflag; /* output mode flags */ |
unsigned short int c_cflag; /* control mode flags */ |
unsigned short int c_lflag; /* local mode flags */ |
unsigned char c_line; /* line discipline */ |
unsigned char c_cc[NCC]; /* control characters */ |
}; |
/* modem lines */ |
#define TIOCM_LE 0x001 |
#define TIOCM_DTR 0x002 |
#define TIOCM_RTS 0x004 |
#define TIOCM_ST 0x008 |
#define TIOCM_SR 0x010 |
#define TIOCM_CTS 0x020 |
#define TIOCM_CAR 0x040 |
#define TIOCM_RNG 0x080 |
#define TIOCM_DSR 0x100 |
#define TIOCM_CD TIOCM_CAR |
#define TIOCM_RI TIOCM_RNG |
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ |
/* line disciplines */ |
#define N_TTY 0 |
#define N_SLIP 1 |
#define N_MOUSE 2 |
#define N_PPP 3 |
#define N_STRIP 4 |
#define N_AX25 5 |
#define N_X25 6 /* X.25 async */ |
#define N_6PACK 7 |
#define N_MASC 8 /* Mobitex module */ |
#define N_R3964 9 /* Simatic R3964 module */ |
#define N_PROFIBUS_FDL 10 /* Profibus */ |
#define N_IRDA 11 /* Linux IR */ |
#define N_SMSBLOCK 12 /* SMS block mode */ |
#define N_HDLC 13 /* synchronous HDLC */ |
#define N_SYNC_PPP 14 /* synchronous PPP */ |
#define N_HCI 15 /* Bluetooth HCI UART */ |
/shark/trunk/drivers/linuxc24/include/bits/byteswap.h |
---|
0,0 → 1,115 |
/* Macros to swap the order of bytes in integer values. |
Copyright (C) 1997, 1998, 2000, 2002 Free Software Foundation, Inc. |
This file is part of the GNU C Library. |
The GNU C Library is free software; you can redistribute it and/or |
modify it under the terms of the GNU Lesser General Public |
License as published by the Free Software Foundation; either |
version 2.1 of the License, or (at your option) any later version. |
The GNU C Library is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
Lesser General Public License for more details. |
You should have received a copy of the GNU Lesser General Public |
License along with the GNU C Library; if not, write to the Free |
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
02111-1307 USA. */ |
#if !defined _BYTESWAP_H && !defined _NETINET_IN_H |
# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead." |
#endif |
#ifndef _BITS_BYTESWAP_H |
#define _BITS_BYTESWAP_H 1 |
/* Swap bytes in 16 bit value. */ |
#define __bswap_constant_16(x) \ |
((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)) |
#if defined __GNUC__ && __GNUC__ >= 2 |
# define __bswap_16(x) \ |
(__extension__ \ |
({ register unsigned short int __v; \ |
if (__builtin_constant_p (x)) \ |
__v = __bswap_constant_16 (x); \ |
else \ |
__asm__ __volatile__ ("rorw $8, %w0" \ |
: "=r" (__v) \ |
: "0" ((unsigned short int) (x)) \ |
: "cc"); \ |
__v; })) |
#else |
/* This is better than nothing. */ |
# define __bswap_16(x) __bswap_constant_16 (x) |
#endif |
/* Swap bytes in 32 bit value. */ |
#define __bswap_constant_32(x) \ |
((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \ |
(((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24)) |
#if defined __GNUC__ && __GNUC__ >= 2 |
/* To swap the bytes in a word the i486 processors and up provide the |
`bswap' opcode. On i386 we have to use three instructions. */ |
# if !defined __i486__ && !defined __pentium__ && !defined __pentiumpro__ |
# define __bswap_32(x) \ |
(__extension__ \ |
({ register unsigned int __v; \ |
if (__builtin_constant_p (x)) \ |
__v = __bswap_constant_32 (x); \ |
else \ |
__asm__ __volatile__ ("rorw $8, %w0;" \ |
"rorl $16, %0;" \ |
"rorw $8, %w0" \ |
: "=r" (__v) \ |
: "0" ((unsigned int) (x)) \ |
: "cc"); \ |
__v; })) |
# else |
# define __bswap_32(x) \ |
(__extension__ \ |
({ register unsigned int __v; \ |
if (__builtin_constant_p (x)) \ |
__v = __bswap_constant_32 (x); \ |
else \ |
__asm__ __volatile__ ("bswap %0" \ |
: "=r" (__v) \ |
: "0" ((unsigned int) (x))); \ |
__v; })) |
# endif |
#else |
# define __bswap_32(x) __bswap_constant_32 (x) |
#endif |
#if defined __GNUC__ && __GNUC__ >= 2 |
/* Swap bytes in 64 bit value. */ |
#define __bswap_constant_64(x) \ |
((((x) & 0xff00000000000000ull) >> 56) \ |
| (((x) & 0x00ff000000000000ull) >> 40) \ |
| (((x) & 0x0000ff0000000000ull) >> 24) \ |
| (((x) & 0x000000ff00000000ull) >> 8) \ |
| (((x) & 0x00000000ff000000ull) << 8) \ |
| (((x) & 0x0000000000ff0000ull) << 24) \ |
| (((x) & 0x000000000000ff00ull) << 40) \ |
| (((x) & 0x00000000000000ffull) << 56)) |
# define __bswap_64(x) \ |
(__extension__ \ |
({ union { __extension__ unsigned long long int __ll; \ |
unsigned long int __l[2]; } __w, __r; \ |
if (__builtin_constant_p (x)) \ |
__r.__ll = __bswap_constant_64 (x); \ |
else \ |
{ \ |
__w.__ll = (x); \ |
__r.__l[0] = __bswap_32 (__w.__l[1]); \ |
__r.__l[1] = __bswap_32 (__w.__l[0]); \ |
} \ |
__r.__ll; })) |
#endif |
#endif /* _BITS_BYTESWAP_H */ |
/shark/trunk/drivers/linuxc24/include/bits/wchar.h |
---|
0,0 → 1,26 |
/* wchar_t type related definitions. |
Copyright (C) 2000 Free Software Foundation, Inc. |
This file is part of the GNU C Library. |
The GNU C Library is free software; you can redistribute it and/or |
modify it under the terms of the GNU Lesser General Public |
License as published by the Free Software Foundation; either |
version 2.1 of the License, or (at your option) any later version. |
The GNU C Library is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
Lesser General Public License for more details. |
You should have received a copy of the GNU Lesser General Public |
License along with the GNU C Library; if not, write to the Free |
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
02111-1307 USA. */ |
#ifndef _BITS_WCHAR_H |
#define _BITS_WCHAR_H 1 |
#define __WCHAR_MIN (-2147483647l - 1l) |
#define __WCHAR_MAX (2147483647l) |
#endif /* bits/wchar.h */ |
/shark/trunk/drivers/linuxc24/include/byteswap.h |
---|
0,0 → 1,40 |
/* Copyright (C) 1997 Free Software Foundation, Inc. |
This file is part of the GNU C Library. |
The GNU C Library is free software; you can redistribute it and/or |
modify it under the terms of the GNU Lesser General Public |
License as published by the Free Software Foundation; either |
version 2.1 of the License, or (at your option) any later version. |
The GNU C Library is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
Lesser General Public License for more details. |
You should have received a copy of the GNU Lesser General Public |
License along with the GNU C Library; if not, write to the Free |
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
02111-1307 USA. */ |
#ifndef _BYTESWAP_H |
#define _BYTESWAP_H 1 |
/* Get the machine specific, optimized definitions. */ |
#include <bits/byteswap.h> |
/* The following definitions must all be macros since otherwise some |
of the possible optimizations are not possible. */ |
/* Return a value with all bytes in the 16 bit argument swapped. */ |
#define bswap_16(x) __bswap_16 (x) |
/* Return a value with all bytes in the 32 bit argument swapped. */ |
#define bswap_32(x) __bswap_32 (x) |
#if defined __GNUC__ && __GNUC__ >= 2 |
/* Return a value with all bytes in the 64 bit argument swapped. */ |
# define bswap_64(x) __bswap_64 (x) |
#endif |
#endif /* byteswap.h */ |
/shark/trunk/drivers/linuxc24/include/stdint.h |
---|
0,0 → 1,320 |
/* Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. |
This file is part of the GNU C Library. |
The GNU C Library is free software; you can redistribute it and/or |
modify it under the terms of the GNU Lesser General Public |
License as published by the Free Software Foundation; either |
version 2.1 of the License, or (at your option) any later version. |
The GNU C Library is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
Lesser General Public License for more details. |
You should have received a copy of the GNU Lesser General Public |
License along with the GNU C Library; if not, write to the Free |
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
02111-1307 USA. */ |
/* |
* ISO C99: 7.18 Integer types <stdint.h> |
*/ |
#ifndef _STDINT_H |
#define _STDINT_H 1 |
#include <features.h> |
#include <bits/wchar.h> |
#include <bits/wordsize.h> |
/* Exact integral types. */ |
/* Signed. */ |
/* There is some amount of overlap with <sys/types.h> as known by inet code */ |
#ifndef __int8_t_defined |
# define __int8_t_defined |
//typedef signed char int8_t; //SHARK |
//typedef short int int16_t; //SHARK |
//typedef int int32_t; //SHARK |
# if __WORDSIZE == 64 |
//typedef long int int64_t; //SHARK |
# else |
__extension__ |
//typedef long long int int64_t; //SHARK |
# endif |
#endif |
/* Unsigned. */ |
typedef unsigned char uint8_t; |
typedef unsigned short int uint16_t; |
#ifndef __uint32_t_defined |
typedef unsigned int uint32_t; |
# define __uint32_t_defined |
#endif |
#if __WORDSIZE == 64 |
typedef unsigned long int uint64_t; |
#else |
__extension__ |
typedef unsigned long long int uint64_t; |
#endif |
/* Small types. */ |
/* Signed. */ |
typedef signed char int_least8_t; |
typedef short int int_least16_t; |
typedef int int_least32_t; |
#if __WORDSIZE == 64 |
typedef long int int_least64_t; |
#else |
__extension__ |
typedef long long int int_least64_t; |
#endif |
/* Unsigned. */ |
typedef unsigned char uint_least8_t; |
typedef unsigned short int uint_least16_t; |
typedef unsigned int uint_least32_t; |
#if __WORDSIZE == 64 |
typedef unsigned long int uint_least64_t; |
#else |
__extension__ |
typedef unsigned long long int uint_least64_t; |
#endif |
/* Fast types. */ |
/* Signed. */ |
typedef signed char int_fast8_t; |
#if __WORDSIZE == 64 |
typedef long int int_fast16_t; |
typedef long int int_fast32_t; |
typedef long int int_fast64_t; |
#else |
typedef int int_fast16_t; |
typedef int int_fast32_t; |
__extension__ |
typedef long long int int_fast64_t; |
#endif |
/* Unsigned. */ |
typedef unsigned char uint_fast8_t; |
#if __WORDSIZE == 64 |
typedef unsigned long int uint_fast16_t; |
typedef unsigned long int uint_fast32_t; |
typedef unsigned long int uint_fast64_t; |
#else |
typedef unsigned int uint_fast16_t; |
typedef unsigned int uint_fast32_t; |
__extension__ |
typedef unsigned long long int uint_fast64_t; |
#endif |
/* Types for `void *' pointers. */ |
#if __WORDSIZE == 64 |
# ifndef __intptr_t_defined |
typedef long int intptr_t; |
# define __intptr_t_defined |
# endif |
typedef unsigned long int uintptr_t; |
#else |
# ifndef __intptr_t_defined |
typedef int intptr_t; |
# define __intptr_t_defined |
# endif |
typedef unsigned int uintptr_t; |
#endif |
/* Largest integral types. */ |
#if __WORDSIZE == 64 |
typedef long int intmax_t; |
typedef unsigned long int uintmax_t; |
#else |
__extension__ |
typedef long long int intmax_t; |
__extension__ |
typedef unsigned long long int uintmax_t; |
#endif |
/* The ISO C99 standard specifies that in C++ implementations these |
macros should only be defined if explicitly requested. */ |
#if !defined __cplusplus || defined __STDC_LIMIT_MACROS |
# if __WORDSIZE == 64 |
# define __INT64_C(c) c ## L |
# define __UINT64_C(c) c ## UL |
# else |
# define __INT64_C(c) c ## LL |
# define __UINT64_C(c) c ## ULL |
# endif |
/* Limits of integral types. */ |
/* Minimum of signed integral types. */ |
# define INT8_MIN (-128) |
# define INT16_MIN (-32767-1) |
# define INT32_MIN (-2147483647-1) |
# define INT64_MIN (-__INT64_C(9223372036854775807)-1) |
/* Maximum of signed integral types. */ |
# define INT8_MAX (127) |
# define INT16_MAX (32767) |
# define INT32_MAX (2147483647) |
# define INT64_MAX (__INT64_C(9223372036854775807)) |
/* Maximum of unsigned integral types. */ |
# define UINT8_MAX (255) |
# define UINT16_MAX (65535) |
# define UINT32_MAX (4294967295U) |
# define UINT64_MAX (__UINT64_C(18446744073709551615)) |
/* Minimum of signed integral types having a minimum size. */ |
# define INT_LEAST8_MIN (-128) |
# define INT_LEAST16_MIN (-32767-1) |
# define INT_LEAST32_MIN (-2147483647-1) |
# define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1) |
/* Maximum of signed integral types having a minimum size. */ |
# define INT_LEAST8_MAX (127) |
# define INT_LEAST16_MAX (32767) |
# define INT_LEAST32_MAX (2147483647) |
# define INT_LEAST64_MAX (__INT64_C(9223372036854775807)) |
/* Maximum of unsigned integral types having a minimum size. */ |
# define UINT_LEAST8_MAX (255) |
# define UINT_LEAST16_MAX (65535) |
# define UINT_LEAST32_MAX (4294967295U) |
# define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615)) |
/* Minimum of fast signed integral types having a minimum size. */ |
# define INT_FAST8_MIN (-128) |
# if __WORDSIZE == 64 |
# define INT_FAST16_MIN (-9223372036854775807L-1) |
# define INT_FAST32_MIN (-9223372036854775807L-1) |
# else |
# define INT_FAST16_MIN (-2147483647-1) |
# define INT_FAST32_MIN (-2147483647-1) |
# endif |
# define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1) |
/* Maximum of fast signed integral types having a minimum size. */ |
# define INT_FAST8_MAX (127) |
# if __WORDSIZE == 64 |
# define INT_FAST16_MAX (9223372036854775807L) |
# define INT_FAST32_MAX (9223372036854775807L) |
# else |
# define INT_FAST16_MAX (2147483647) |
# define INT_FAST32_MAX (2147483647) |
# endif |
# define INT_FAST64_MAX (__INT64_C(9223372036854775807)) |
/* Maximum of fast unsigned integral types having a minimum size. */ |
# define UINT_FAST8_MAX (255) |
# if __WORDSIZE == 64 |
# define UINT_FAST16_MAX (18446744073709551615UL) |
# define UINT_FAST32_MAX (18446744073709551615UL) |
# else |
# define UINT_FAST16_MAX (4294967295U) |
# define UINT_FAST32_MAX (4294967295U) |
# endif |
# define UINT_FAST64_MAX (__UINT64_C(18446744073709551615)) |
/* Values to test for integral types holding `void *' pointer. */ |
# if __WORDSIZE == 64 |
# define INTPTR_MIN (-9223372036854775807L-1) |
# define INTPTR_MAX (9223372036854775807L) |
# define UINTPTR_MAX (18446744073709551615UL) |
# else |
# define INTPTR_MIN (-2147483647-1) |
# define INTPTR_MAX (2147483647) |
# define UINTPTR_MAX (4294967295U) |
# endif |
/* Minimum for largest signed integral type. */ |
# define INTMAX_MIN (-__INT64_C(9223372036854775807)-1) |
/* Maximum for largest signed integral type. */ |
# define INTMAX_MAX (__INT64_C(9223372036854775807)) |
/* Maximum for largest unsigned integral type. */ |
# define UINTMAX_MAX (__UINT64_C(18446744073709551615)) |
/* Limits of other integer types. */ |
/* Limits of `ptrdiff_t' type. */ |
# if __WORDSIZE == 64 |
# define PTRDIFF_MIN (-9223372036854775807L-1) |
# define PTRDIFF_MAX (9223372036854775807L) |
# else |
# define PTRDIFF_MIN (-2147483647-1) |
# define PTRDIFF_MAX (2147483647) |
# endif |
/* Limits of `sig_atomic_t'. */ |
# define SIG_ATOMIC_MIN (-2147483647-1) |
# define SIG_ATOMIC_MAX (2147483647) |
/* Limit of `size_t' type. */ |
# if __WORDSIZE == 64 |
# define SIZE_MAX (18446744073709551615UL) |
# else |
# define SIZE_MAX (4294967295U) |
# endif |
/* Limits of `wchar_t'. */ |
# ifndef WCHAR_MIN |
/* These constants might also be defined in <wchar.h>. */ |
# define WCHAR_MIN __WCHAR_MIN |
# define WCHAR_MAX __WCHAR_MAX |
# endif |
/* Limits of `wint_t'. */ |
# define WINT_MIN (0u) |
# define WINT_MAX (4294967295u) |
#endif /* C++ && limit macros */ |
/* The ISO C99 standard specifies that in C++ implementations these |
should only be defined if explicitly requested. */ |
#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS |
/* Signed. */ |
# define INT8_C(c) c |
# define INT16_C(c) c |
# define INT32_C(c) c |
# if __WORDSIZE == 64 |
# define INT64_C(c) c ## L |
# else |
# define INT64_C(c) c ## LL |
# endif |
/* Unsigned. */ |
# define UINT8_C(c) c ## U |
# define UINT16_C(c) c ## U |
# define UINT32_C(c) c ## U |
# if __WORDSIZE == 64 |
# define UINT64_C(c) c ## UL |
# else |
# define UINT64_C(c) c ## ULL |
# endif |
/* Maximal type. */ |
# if __WORDSIZE == 64 |
# define INTMAX_C(c) c ## L |
# define UINTMAX_C(c) c ## UL |
# else |
# define INTMAX_C(c) c ## LL |
# define UINTMAX_C(c) c ## ULL |
# endif |
#endif /* C++ && constant macros */ |
#endif /* stdint.h */ |
/shark/trunk/drivers/linuxc24/include/sys/ttydefaults.h |
---|
0,0 → 1,100 |
/*- |
* Copyright (c) 1982, 1986, 1993 |
* The Regents of the University of California. All rights reserved. |
* (c) UNIX System Laboratories, Inc. |
* All or some portions of this file are derived from material licensed |
* to the University of California by American Telephone and Telegraph |
* Co. or Unix System Laboratories, Inc. and are reproduced herein with |
* the permission of UNIX System Laboratories, Inc. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* 4. Neither the name of the University nor the names of its contributors |
* may be used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
* |
* @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 |
*/ |
/* |
* System wide defaults for terminal state. Linux version. |
*/ |
#ifndef _SYS_TTYDEFAULTS_H_ |
#define _SYS_TTYDEFAULTS_H_ |
/* |
* Defaults on "first" open. |
*/ |
#define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) |
#define TTYDEF_OFLAG (OPOST | ONLCR | XTABS) |
#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) |
#define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) |
#define TTYDEF_SPEED (B9600) |
/* |
* Control Character Defaults |
*/ |
#define CTRL(x) (x&037) |
#define CEOF CTRL('d') |
#ifdef _POSIX_VDISABLE |
# define CEOL _POSIX_VDISABLE |
#else |
# define CEOL '\0' /* XXX avoid _POSIX_VDISABLE */ |
#endif |
#define CERASE 0177 |
#define CINTR CTRL('c') |
#ifdef _POSIX_VDISABLE |
# define CSTATUS _POSIX_VDISABLE |
#else |
# define CSTATUS '\0' /* XXX avoid _POSIX_VDISABLE */ |
#endif |
#define CKILL CTRL('u') |
#define CMIN 1 |
#define CQUIT 034 /* FS, ^\ */ |
#define CSUSP CTRL('z') |
#define CTIME 0 |
#define CDSUSP CTRL('y') |
#define CSTART CTRL('q') |
#define CSTOP CTRL('s') |
#define CLNEXT CTRL('v') |
#define CDISCARD CTRL('o') |
#define CWERASE CTRL('w') |
#define CREPRINT CTRL('r') |
#define CEOT CEOF |
/* compat */ |
#define CBRK CEOL |
#define CRPRNT CREPRINT |
#define CFLUSH CDISCARD |
/* PROTECTED INCLUSION ENDS HERE */ |
#endif /* !_SYS_TTYDEFAULTS_H_ */ |
/* |
* #define TTYDEFCHARS to include an array of default control characters. |
*/ |
#ifdef TTYDEFCHARS |
cc_t ttydefchars[NCCS] = { |
CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, |
_POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, |
CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE |
}; |
#undef TTYDEFCHARS |
#endif |