source: trunk/src/kernel32/oslibcdio.h@ 22018

Last change on this file since 22018 was 8580, checked in by sandervl, 23 years ago

Use aspi interface in os2cdrom.dmd for SCSI ioctls

File size: 1.5 KB
Line 
1/*
2 * OS2CDROM.DMD interface for sending SCSI commands
3 *
4 * Based on example code by:
5 * (c) 2001 S&T Systemtechnik GmbH
6 *
7 * erzeugt: 15.02.01 R.Ihle
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12
13#ifndef __CDIO_H
14#define __CDIO_H
15
16#ifdef __cplusplus
17 extern "C" {
18#endif
19
20typedef ULONG HCDIO;
21
22typedef struct
23{
24 unsigned flDirection; // direction flag
25 unsigned cbCDB; // command length
26 unsigned char arCDB[16]; // actual CdIo command
27} CDIO_CMD_BUFFER;
28
29#define CMDDIR_OUTPUT 0
30#define CMDDIR_INPUT 1
31
32BOOL OSLibCdIoInitialize(void);
33BOOL OSLibCdIoTerminate(void);
34
35BOOL OSLibCdIoIsSupported(HFILE hDisk);
36BOOL OSLibCdIoSendCommand(HCDIO hCdIo, CDIO_CMD_BUFFER *pCmd, void *pData, unsigned cbData);
37
38BOOL OSLibCdIoLoadEjectDisk(HCDIO hCdIo, int fLoad);
39BOOL OSLibCdIoResetUnit(HCDIO hCdIo);
40BOOL OSLibCdIoUnitReady(HCDIO hCdIo);
41BOOL OSLibCdIoInquiry(HCDIO hCdIo, unsigned uPageCode, void *pData, unsigned cbData);
42BOOL OSLibCdIoRequestSense(HCDIO hCdIo, void *pData, unsigned cbData);
43BOOL OSLibCdIoQueryCapacity(HCDIO hCdIo, unsigned *pctBlocks, unsigned *pcbBlock);
44BOOL OSLibCdIoReadBlock(HCDIO hCdIo, unsigned uLBA, void *pData, unsigned cbData);
45
46ULONG OSLibCdIoQueryDriveList(void);
47BOOL OSLibCdIoQueryFullName(char *pchPartName, char *pchFullName, unsigned cbFullName);
48BOOL OSLibCdIoQueryVolumeLabel(char chDrive, char *pchLabel, unsigned cbLabel);
49
50#ifdef __cplusplus
51 }
52#endif
53
54#endif
55
56
Note: See TracBrowser for help on using the repository browser.