• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdeutils
  • Sitemap
  • Contact Us
 

klaptopdaemon

ds.h

Go to the documentation of this file.
00001 /*
00002  * ds.h 1.49 1998/08/03 19:12:23
00003  *
00004  * The contents of this file are subject to the Mozilla Public License
00005  * Version 1.0 (the "License"); you may not use this file except in
00006  * compliance with the License. You may obtain a copy of the License
00007  * at http://www.mozilla.org/MPL/
00008  *
00009  * Software distributed under the License is distributed on an "AS IS"
00010  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
00011  * the License for the specific language governing rights and
00012  * limitations under the License. 
00013  *
00014  * The initial developer of the original code is David A. Hinds
00015  * <dhinds@hyper.stanford.edu>.  Portions created by David A. Hinds
00016  * are Copyright (C) 1998 David A. Hinds.  All Rights Reserved.
00017  */
00018 
00019 #ifndef _LINUX_DS_H
00020 #define _LINUX_DS_H
00021 
00022 #include "driver_ops.h"
00023 #include "bulkmem.h"
00024 
00025 typedef struct tuple_parse_t {
00026     tuple_t     tuple;
00027     cisdata_t       data[255];
00028     cisparse_t      parse;
00029 } tuple_parse_t;
00030 
00031 typedef struct bind_info_t {
00032     dev_info_t      dev_info;
00033     u_char      function;
00034     struct dev_link_t   *instance;
00035     char        name[DEV_NAME_LEN];
00036     u_short     major, minor;
00037     void        *next;
00038 } bind_info_t;
00039 
00040 typedef struct mtd_info_t {
00041     dev_info_t      dev_info;
00042     u_int       Attributes;
00043     u_int       CardOffset;
00044 } mtd_info_t;
00045 
00046 typedef union ds_ioctl_arg_t {
00047     servinfo_t      servinfo;
00048     adjust_t        adjust;
00049     config_info_t   config;
00050     tuple_t     tuple;
00051     tuple_parse_t   tuple_parse;
00052     client_req_t    client_req;
00053     cs_status_t     status;
00054     conf_reg_t      conf_reg;
00055     cisinfo_t       cisinfo;
00056     region_info_t   region;
00057     bind_info_t     bind_info;
00058     mtd_info_t      mtd_info;
00059     cisdump_t       cisdump;
00060 } ds_ioctl_arg_t;
00061 
00062 #define DS_GET_CARD_SERVICES_INFO   _IOR ('d', 1, servinfo_t)
00063 #define DS_ADJUST_RESOURCE_INFO     _IOWR('d', 2, adjust_t)
00064 #define DS_GET_CONFIGURATION_INFO   _IOWR('d', 3, config_info_t)
00065 #define DS_GET_FIRST_TUPLE      _IOWR('d', 4, tuple_t)
00066 #define DS_GET_NEXT_TUPLE       _IOWR('d', 5, tuple_t)
00067 #define DS_GET_TUPLE_DATA       _IOWR('d', 6, tuple_parse_t)
00068 #define DS_PARSE_TUPLE          _IOWR('d', 7, tuple_parse_t)
00069 #define DS_RESET_CARD           _IO  ('d', 8)
00070 #define DS_GET_STATUS           _IOWR('d', 9, cs_status_t)
00071 #define DS_ACCESS_CONFIGURATION_REGISTER _IOWR('d', 10, conf_reg_t)
00072 #define DS_VALIDATE_CIS         _IOR ('d', 11, cisinfo_t)
00073 #define DS_SUSPEND_CARD         _IO  ('d', 12)
00074 #define DS_RESUME_CARD          _IO  ('d', 13)
00075 #define DS_EJECT_CARD           _IO  ('d', 14)
00076 #define DS_INSERT_CARD          _IO  ('d', 15)
00077 #define DS_GET_FIRST_REGION     _IOWR('d', 16, region_info_t)
00078 #define DS_GET_NEXT_REGION      _IOWR('d', 17, region_info_t)
00079 #define DS_REPLACE_CIS          _IOWR('d', 18, cisdump_t)
00080 
00081 #define DS_BIND_REQUEST         _IOWR('d', 60, bind_info_t)
00082 #define DS_GET_DEVICE_INFO      _IOWR('d', 61, bind_info_t) 
00083 #define DS_GET_NEXT_DEVICE      _IOWR('d', 62, bind_info_t) 
00084 #define DS_UNBIND_REQUEST       _IOW ('d', 63, bind_info_t)
00085 #define DS_BIND_MTD         _IOWR('d', 64, mtd_info_t)
00086 
00087 #ifdef __KERNEL__
00088 
00089 typedef struct dev_link_t {
00090     dev_node_t      *dev;
00091     u_int       state, open;
00092     struct wait_queue   *pending;
00093     struct timer_list   release;
00094     client_handle_t handle;
00095     io_req_t        io;
00096     irq_req_t       irq;
00097     config_req_t    conf;
00098     window_handle_t win;
00099     void        *priv;
00100     struct dev_link_t   *next;
00101 } dev_link_t;
00102 
00103 /* Flags for device state */
00104 #define DEV_PRESENT     0x01
00105 #define DEV_CONFIG      0x02
00106 #define DEV_STALE_CONFIG    0x04    /* release on close */
00107 #define DEV_STALE_LINK      0x08    /* detach on release */
00108 #define DEV_CONFIG_PENDING  0x10
00109 #define DEV_RELEASE_PENDING 0x20
00110 #define DEV_SUSPEND     0x40
00111 #define DEV_BUSY        0x80
00112 
00113 #define DEV_OK(l) \
00114     ((l) && ((l->state & ~DEV_BUSY) == (DEV_CONFIG|DEV_PRESENT)))
00115 
00116 int register_pccard_driver(dev_info_t *dev_info,
00117                dev_link_t *(*attach)(void),
00118                void (*detach)(dev_link_t *));
00119 
00120 int unregister_pccard_driver(dev_info_t *dev_info);
00121 
00122 #define register_pcmcia_driver register_pccard_driver
00123 #define unregister_pcmcia_driver unregister_pccard_driver
00124 
00125 #ifdef __BEOS__
00126 #define DS_MODULE_NAME "bus_managers/pcmcia_ds/v1"
00127 typedef struct ds_module_info {
00128     bus_manager_info binfo;
00129     int (*_register_pccard_driver)(dev_info_t *,
00130                    dev_link_t *(*)(void),
00131                    void (*)(dev_link_t *));
00132     int (*_unregister_pccard_driver)(dev_info_t *);
00133     struct driver_info_t **root_driver;
00134     int *sockets;
00135     struct socket_info_t **socket_table;
00136     sem_id *list_sem;
00137 } ds_module_info;
00138 #endif /* __BEOS__ */
00139 
00140 #endif /* __KERNEL__ */
00141 
00142 #endif /* _LINUX_DS_H */

klaptopdaemon

Skip menu "klaptopdaemon"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members

kdeutils

Skip menu "kdeutils"
  • ark
  • kcalc
  • kcharselect
  • kdelirc
  • kdessh
  • kdf
  • kfloppy
  • kgpg
  • kjots
  • klaptopdaemon
  • kmilo
  • ksim
  • ktimer
  • kwallet
  • superkaramba
Generated for kdeutils by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal