ample/Ample/Media.h

57 lines
1.0 KiB
C

//
// Media.h
// Ample
//
// Created by Kelvin Sherlock on 3/7/2021.
// Copyright © 2021 Kelvin Sherlock. All rights reserved.
//
#ifndef Media_h
#define Media_h
typedef struct Media {
unsigned cass;
unsigned cdrom;
unsigned hard;
unsigned floppy_8;
unsigned floppy_5_25;
unsigned floppy_3_5;
unsigned pseudo_disk;
unsigned bitbanger;
unsigned midiin;
unsigned midiout;
unsigned picture;
unsigned rom;
uint64_t floppy_mask_8;
uint64_t floppy_mask_5_25;
uint64_t floppy_mask_3_5;
} Media;
typedef enum {
MediaTypeError = -1,
MediaTypeUnknown = 0,
MediaType_8,
MediaType_5_25,
MediaType_3_5,
MediaType_HardDisk,
MediaType_CDROM,
MediaType_Cassette,
MediaType_Picture,
MediaType_MIDI,
MediaType_ROM,
} MediaType;
struct Media MediaFromDictionary(NSDictionary *);
void MediaAdd(Media *dest, const Media *src);
BOOL MediaEqual(const Media *lhs, const Media *rhs);
extern const Media EmptyMedia;
MediaType ClassifyMediaFile(id file);
#endif /* Media_h */