home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / kernex32.zip / mwdd_src.zip / 32bits / ext2-os2 / mwdd32 / mwdd32_ioctl.h < prev    next >
C/C++ Source or Header  |  1997-08-05  |  3KB  |  98 lines

  1. //
  2. // $Header: d:\\32bits\\ext2-os2\\mwdd32\\rcs\\mwdd32_ioctl.h,v 1.3 1997/03/16 12:44:29 Willm Exp $
  3. //
  4.  
  5. // 32 bits OS/2 device driver and IFS support. Provides 32 bits kernel
  6. // services (DevHelp) and utility functions to 32 bits OS/2 ring 0 code
  7. // (device drivers and installable file system drivers).
  8. // Copyright (C) 1995, 1996, 1997  Matthieu WILLM (willm@ibm.net)
  9. //
  10. // This program is free software; you can redistribute it and/or modify
  11. // it under the terms of the GNU General Public License as published by
  12. // the Free Software Foundation; either version 2 of the License, or
  13. // (at your option) any later version.
  14. //
  15. // This program is distributed in the hope that it will be useful,
  16. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18. // GNU General Public License for more details.
  19. //
  20. // You should have received a copy of the GNU General Public License
  21. // along with this program; if not, write to the Free Software
  22. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  23.  
  24. #ifndef __mwdd32_ioctl_h
  25. #define __mwdd32_ioctl_h
  26.  
  27. #define MWDD32_IOCTL_CATEGORY            0xF0
  28.  
  29. /*
  30.  * Function 1 : init FSD
  31.  * input :
  32.  *     parm - magic number (dword)
  33.  *     data - FLAT  address of fs32_init()
  34.  *            16:16 pointer to FS_INIT parameters
  35.  * output :
  36.  *     parm - magic number               (dword)
  37.  *     data - return code of fs32_init() (dword)
  38.  */
  39. #define MWDD32_IOCTL_FUNCTION_INIT_FSD   0x41
  40. #define INIT_FSD_MAGIC_IN  0xAAAAAAAA
  41. #define INIT_FSD_MAGIC_OUT 0xBBBBBBBB
  42.     union mwdd32_ioctl_int_fsd_parm {
  43.         struct {
  44.            unsigned long magic_in;  // INIT_FSD_MAGIC_IN
  45.         } input;
  46.         struct {
  47.            unsigned long magic_out; // INIT_FSD_MAGIC_OUT
  48.         } output;
  49.     };
  50.     union mwdd32_ioctl_int_fsd_data {
  51.         struct {
  52.            int(* FS32INIT  fs32_init)(void *);
  53.            PTR16  fs32_init_parms;
  54.            void **pTKSSBase;
  55.            struct DevHelp32 *pDevHelp32;
  56.         } input;
  57.         struct {
  58.            int fs32_init_rc;
  59.         } output;
  60.     };
  61.  
  62.  
  63. /*
  64.  * Function 2 : init device
  65.  * input :
  66.  *     parm - magic number (dword)
  67.  *     data - FLAT  address of device_init()
  68.  *            16:16 pointer to INIT request packet
  69.  * output :
  70.  *     parm - magic number                 (dword)
  71.  *     data - return code of device_init() (dword)
  72.  */
  73. #define MWDD32_IOCTL_FUNCTION_INIT_DEVICE   0x42
  74. #define INIT_DEVICE_MAGIC_IN  0xAAAAAAAA
  75. #define INIT_DEVICE_MAGIC_OUT 0xBBBBBBBB
  76.     union mwdd32_ioctl_init_device_parm {
  77.         struct {
  78.            unsigned long magic_in;  // INIT_DEVICE_MAGIC_IN
  79.         } input;
  80.         struct {
  81.            unsigned long magic_out; // INIT_DEVICE_MAGIC_OUT
  82.         } output;
  83.     };
  84.     union mwdd32_ioctl_init_device_data {
  85.         struct {
  86.            int(* DEV32ENTRY device_init)(PTR16);
  87.            PTR16  reqpkt;
  88.            void **pTKSSBase;
  89.            struct DevHelp32 *pDevHelp32;
  90.         } input;
  91.         struct {
  92.            int device_init_rc;
  93.         } output;
  94.     };
  95.  
  96. #endif
  97.  
  98.