home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
ddkx86v1.zip
/
DDKX86
/
H
/
MSCDEX.H
< prev
next >
Wrap
Text File
|
1995-04-14
|
4KB
|
127 lines
/*DDK*************************************************************************/
/* */
/* COPYRIGHT (C) Microsoft Corporation, 1989 */
/* COPYRIGHT Copyright (C) 1995 IBM Corporation */
/* */
/* The following IBM OS/2 WARP source code is provided to you solely for */
/* the purpose of assisting you in your development of OS/2 WARP device */
/* drivers. You may use this code in accordance with the IBM License */
/* Agreement provided in the IBM Device Driver Source Kit for OS/2. This */
/* Copyright statement may not be removed. */
/* */
/*****************************************************************************/
//* MSCDEX Int 2f (AL=15) defines, etc.
//*
//*
//*
//*
//* MSCDEX constants
//*
//* MODIFICATION HISTORY
//* 09/26/92 fjs created
//* 03/24/93 fjs Added FSCTL_ARG_MEDIACHG
//*
//***************************************************************************
#define MSCDEX_SERVICES 0x15
#define MSCDEX_SIGNATURE 0xADAD
#define MSCDEX_VERSION 0x0215
// MSCDEX services, subfunction number (al)
#define GET_NUMBER_CDROM_DRIVE_LETTERS 0x00
#define GET_CDROM_DRIVE_DEVICE_LIST 0x01
#define GET_COPYRIGHT_FILE_NAME 0x02
#define GET_ABSTRACT_FILE_NAME 0x03
#define GET_BIBLIOGRAPHIC_FILE_NAME 0x04
#define READ_VTOC 0x05
// reserved-Turn debugging on 0x06
// reserved-Turn debugging off 0x07
#define ABSOLUTE_DISK_READ 0x08
#define ABSOLUTE_DISK_WRITE 0x09
// reserved 0x0A
#define CDROM_DRIVE_CHECK 0x0B
#define GET_MSCDEX_VERSION 0x0C
#define GET_CDROM_DRIVE_LETTERS 0x0D
#define VOLUME_DESCRIPTOR_PREFERENCE 0x0E
#define GET_DIRECTORY_ENTRY 0x0F
#define SEND_DEVICE_REQUEST 0x10
// VDHFSCtl parameters
#define FSCTL_ARG_MSCDEX 0x8F07
#define FSCTL_ARG_MEDIACHG 0x8F08
#define FSCTL_HANDLE 1
// Structures for VDHFSCtl call to CDROM.IFS
typedef struct
{
ULONG ulFunction;
} GETFILE, FAR * PGETFILE;
typedef struct
{
ULONG ulFunction;
ULONG ulSectorIndex;
} READVTOC, FAR * PREADVTOC;
typedef struct
{
ULONG ulFunction;
ULONG ulSectorCount;
USHORT usSectStartLo;
USHORT usSectStartHi;
} ABSREAD, FAR * PABSREAD;
typedef struct
{
ULONG ulFunction;
ULONG ulPrefReq;
ULONG ulPrefVal;
} VOLDESCPREF, FAR * PVOLDESCPREF;
typedef struct
{
ULONG ulFunction;
ULONG ulFlags;
} GETDIRENTRY, FAR * PGETDIRENTRY;
// GETFILE file name lengths
#define MAX_FILE_ID_LEN 38
#define ISO_CPYR_ID_LEN 37
#define HSG_CPYR_ID_LEN 32
#define MAX_CPYR_ID_LEN 38
#define ISO_ABST_ID_LEN 37
#define HSG_ABST_ID_LEN 32
#define MAX_ABST_ID_LEN 38
#define ISO_BIBL_ID_LEN 37
#define HSG_BIBL_ID_LEN 0
#define MAX_BIBL_ID_LEN 38
// VOLDESCPREF ulPrefReq values
#define GET_VOL_DESC_PREF 0
#define SET_VOL_DESC_PREF 1
// VOLDESCPREF ulPrefVal values
#define USE_PRIMARY_VOL_DESC 1
#define USE_SUPPLEM_VOL_DESC 2
// GETDIRENTRY buffer lengths
#define DIR_ENTRY_SPECIFIC_LEN 255
#define DIR_ENTRY_GENERAL_LEN 280
// end MSCDEX.H