cs.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * cs.h
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. *
  8. * The initial developer of the original code is David A. Hinds
  9. * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
  10. * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
  11. *
  12. * (C) 1999 David A. Hinds
  13. */
  14. #ifndef _LINUX_CS_H
  15. #define _LINUX_CS_H
  16. #ifdef __KERNEL__
  17. #include <linux/interrupt.h>
  18. #endif
  19. /* For RequestConfiguration */
  20. typedef struct config_req_t {
  21. u_int Attributes;
  22. u_int IntType;
  23. u_int ConfigBase;
  24. u_char Status, Pin, Copy, ExtStatus;
  25. u_char ConfigIndex;
  26. u_int Present;
  27. } config_req_t;
  28. /* Attributes for RequestConfiguration */
  29. #define CONF_ENABLE_IRQ 0x01
  30. #define CONF_ENABLE_DMA 0x02
  31. #define CONF_ENABLE_SPKR 0x04
  32. #define CONF_ENABLE_PULSE_IRQ 0x08
  33. #define CONF_VALID_CLIENT 0x100
  34. /* IntType field */
  35. #define INT_MEMORY 0x01
  36. #define INT_MEMORY_AND_IO 0x02
  37. #define INT_CARDBUS 0x04
  38. #define INT_ZOOMED_VIDEO 0x08
  39. /* Configuration registers present */
  40. #define PRESENT_OPTION 0x001
  41. #define PRESENT_STATUS 0x002
  42. #define PRESENT_PIN_REPLACE 0x004
  43. #define PRESENT_COPY 0x008
  44. #define PRESENT_EXT_STATUS 0x010
  45. #define PRESENT_IOBASE_0 0x020
  46. #define PRESENT_IOBASE_1 0x040
  47. #define PRESENT_IOBASE_2 0x080
  48. #define PRESENT_IOBASE_3 0x100
  49. #define PRESENT_IOSIZE 0x200
  50. #endif /* _LINUX_CS_H */