source: trunk/src/wnaspi32/cdio.h@ 10367

Last change on this file since 10367 was 8601, checked in by sandervl, 23 years ago

os2cdrom.dmd rewrite

File size: 1.8 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
20extern BOOL fASPIAvailable;
21
22typedef ULONG HCDIO;
23
24#define MAX_CDBLEN 16
25#define MAX_DRIVES 26
26
27typedef struct
28{
29 unsigned flDirection; // direction flag
30 unsigned cbCDB; // command length
31 unsigned char arCDB[MAX_CDBLEN]; // actual CdIo command
32} CDIO_CMD_BUFFER;
33
34#define CMDDIR_OUTPUT 0
35#define CMDDIR_INPUT 1
36
37BOOL OSLibCdIoInitialize(void);
38BOOL OSLibCdIoTerminate(void);
39
40int OSLibCdIoGetNumDrives(void);
41HCDIO OSLibCdIoGetDevice(int SRB_HaId, int SRB_Target, int SRB_Lun);
42
43BOOL OSLibCdIoIsSupported(HFILE hDisk);
44BOOL OSLibCdIoSendCommand(HCDIO hCdIo, CDIO_CMD_BUFFER *pCmd, void *pData, unsigned cbData);
45
46BOOL OSLibCdIoLoadEjectDisk(HCDIO hCdIo, int fLoad);
47BOOL OSLibCdIoResetUnit(HCDIO hCdIo);
48BOOL OSLibCdIoUnitReady(HCDIO hCdIo);
49BOOL OSLibCdIoInquiry(HCDIO hCdIo, unsigned uPageCode, void *pData, unsigned cbData);
50BOOL OSLibCdIoRequestSense(HCDIO hCdIo, void *pData, unsigned cbData);
51BOOL OSLibCdIoQueryCapacity(HCDIO hCdIo, unsigned *pctBlocks, unsigned *pcbBlock);
52BOOL OSLibCdIoReadBlock(HCDIO hCdIo, unsigned uLBA, void *pData, unsigned cbData);
53
54ULONG OSLibCdIoQueryDriveList(void);
55BOOL OSLibCdIoQueryFullName(char *pchPartName, char *pchFullName, unsigned cbFullName);
56BOOL OSLibCdIoQueryVolumeLabel(char chDrive, char *pchLabel, unsigned cbLabel);
57
58#ifdef __cplusplus
59 }
60#endif
61
62#endif
63
64
Note: See TracBrowser for help on using the repository browser.