Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

116 lines
2.7 KiB

/*[
* Product: SoftPC-AT Revision 3.0
* Name: cdrom_fn.h
* Purpose: Interface & defines used by cdrom_fn.c
*
* Derived From: next_cdrom.c, 1.5, 23/9/92, Jason Proctor
*
* Sccs ID: @(#)cdrom_fn.h 1.3 04/14/94
*
* (c)Copyright Insignia Solutions Ltd., 1992. All rights reserved.
]*/
/* CD addressing modes */
#define kBlockAddressMode 0
#define kRedbookAddressMode 1
#define kTrackAddressMode 2
/* equate for special lead out track */
#define kActualLeadOutTrack 0xaa
#define kLeadOutTrack 100
/* values for device status
* 0x282 => data only, read only, prefetch supported, no interleaving
* only cooked reading, no audio channel manipulation,
* supports Redbook addressing, doesn't support R-W sub-channels
*/
#define kDeviceStatus 0x282
#define kAudioSupported (1<<4)
#define kNoDiskPresent (1<<11)
/* data formats for read subchannel command */
#define kCurrentPosDataFormat 1
#define kMediaCatDataFormat 2
#define kTrackStdDataFormat 3
/* bit mask for audio status bit */
#define kAudioPlayInProgress 0x11
/* TYPEDEFS */
struct toc_info
{
UTINY control;
UTINY hour;
UTINY minute;
UTINY sec;
UTINY frame;
};
/* entire table of contents */
/* naudio/ndata hacked out by Jase as we don't need them */
struct toc_all
{
UTINY firsttrack;
UTINY lasttrack;
struct toc_info info[101];
};
typedef struct
{
INT cdDeviceFD;
IUM32 cdAddressMode;
IUM32 cdCommandMode;
IUM32 cdBlockSize;
IUM32 cdBlockAddress;
IUM32 cdTransmitCount;
IUM32 cdReceiveCount;
struct toc_all cdTOC;
BOOL cdChangedMedia;
BOOL cdOpen;
BOOL cdReadTOC;
UTINY *cdBuffer;
UTINY cdTempBuffer [256];
CHAR cdDeviceName [MAXPATHLEN];
} CDROMGlobalRec;
/* conveniently small MSF record */
typedef struct
{
UTINY msfMinutes;
UTINY msfSeconds;
UTINY msfFrames;
} MSFRec;
/* utility routines */
extern void CreateMSF IPT2 (MSFRec *, startMSF, MSFRec *, endMSF);
extern IUM32 Redbook2HighSierra IPT1 (UTINY *, address);
extern void HighSierra2Redbook IPT2 (IUM32, block, MSFRec *, msf);
/* host interface stuff */
extern void host_set_cd_retn_stat IPT0 ();
extern void host_cd_media_changed IPT0 ();
extern int host_scsi_test_unit_ready IPT0 ();
extern int host_scsi_seek IPT0 ();
extern int host_scsi_read IPT0 ();
extern int host_scsi_play_audio IPT0 ();
extern int host_scsi_pause_resume_audio IPT1 (BOOL, pause);
extern int host_scsi_read_UPC IPT0 ();
extern int host_scsi_read_position IPT1 (BOOL, full);
extern int host_scsi_audio_status IPT0 ();
extern int host_scsi_playback_status IPT0 ();
extern int host_scsi_set_blocksize IPT0 ();
extern int host_scsi_read_TOC IPT0 ();
/* IMPORTED DATA */
/* imported from base/dos/cdrom.c */
extern BOOL bl_red_book;
extern int cd_retn_stat;