Subversion Repositories Kolibri OS

Rev

Rev 5345 | Rev 6102 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2.  
  3. #ifndef __DDK_H__
  4. #define __DDK_H__
  5.  
  6. #include <linux/kernel.h>
  7. #include <linux/errno.h>
  8. #include <linux/spinlock.h>
  9. #include <linux/mutex.h>
  10. #include <linux/rwsem.h>
  11. #include <linux/pci.h>
  12.  
  13.  
  14. #define OS_BASE             0x80000000
  15.  
  16. #define PG_SW               0x003
  17. #define PG_UW               0x007
  18. #define PG_WRITEC           0x008
  19. #define PG_NOCACHE          0x018
  20. #define PG_SHARED           0x200
  21.  
  22. #define MANUAL_DESTROY      0x80000000
  23.  
  24. #define ENTER()   dbgprintf("enter %s\n",__FUNCTION__)
  25. #define LEAVE()   dbgprintf("leave %s\n",__FUNCTION__)
  26. #define FAIL()    dbgprintf("fail %s\n",__FUNCTION__)
  27.  
  28. typedef struct
  29. {
  30.     u32  code;
  31.     u32  data[5];
  32. }kevent_t;
  33.  
  34. typedef union
  35. {
  36.     struct
  37.     {
  38.         u32 handle;
  39.         u32 euid;
  40.     };
  41.     u64 raw;
  42. }evhandle_t;
  43.  
  44. typedef struct
  45. {
  46.   u32      handle;
  47.   u32      io_code;
  48.   void       *input;
  49.   int        inp_size;
  50.   void       *output;
  51.   int        out_size;
  52. }ioctl_t;
  53.  
  54. typedef int ( __stdcall *srv_proc_t)(ioctl_t *);
  55.  
  56. #define ERR_OK       0
  57. #define ERR_PARAM   -1
  58.  
  59.  
  60. struct ddk_params;
  61.  
  62. int   ddk_init(struct ddk_params *params);
  63.  
  64. u32 drvEntry(int, char *)__asm__("_drvEntry");
  65.  
  66.  
  67. #endif      /*    DDK_H    */
  68.