mirror of
https://github.com/vivier/EMILE.git
synced 2024-12-22 10:29:31 +00:00
Add all needed stuff for serial port management
This commit is contained in:
parent
d04f6b28a8
commit
6381f5a95a
107
second/glue.h
107
second/glue.h
@ -5,9 +5,30 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
typedef int16_t OSErr;
|
typedef int16_t OSErr;
|
||||||
|
typedef const unsigned char * ConstStr255Param;
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
noErr = 0
|
noErr = 0,
|
||||||
|
qErr = -1,
|
||||||
|
vTypErr = -2,
|
||||||
|
corErr = -3,
|
||||||
|
unimpErr = -4,
|
||||||
|
SlpTypeErr = -5,
|
||||||
|
seNoDB = -8,
|
||||||
|
controlErr = -17,
|
||||||
|
statusErr = -18,
|
||||||
|
readErr = -19,
|
||||||
|
writErr = -20,
|
||||||
|
badUnitErr = -21,
|
||||||
|
unitEmptyErr = -22,
|
||||||
|
openErr = -23,
|
||||||
|
closErr = -24,
|
||||||
|
dRemovErr = -25,
|
||||||
|
dInstErr = -26,
|
||||||
|
paramErr = -50,
|
||||||
|
userCanceledErr = -128,
|
||||||
|
noHardwareErr = -200,
|
||||||
|
notEnoughHardwareErr = -201,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -47,6 +68,72 @@ enum {
|
|||||||
fsRdWrPerm = 3 /* allow reads and writes */
|
fsRdWrPerm = 3 /* allow reads and writes */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
baud150 = 763,
|
||||||
|
baud300 = 380,
|
||||||
|
baud600 = 189,
|
||||||
|
baud1200 = 94,
|
||||||
|
baud1800 = 62,
|
||||||
|
baud2400 = 46,
|
||||||
|
baud3600 = 30,
|
||||||
|
baud4800 = 22,
|
||||||
|
baud7200 = 14,
|
||||||
|
baud9600 = 10,
|
||||||
|
baud14400 = 6,
|
||||||
|
baud19200 = 4,
|
||||||
|
baud28800 = 2,
|
||||||
|
baud38400 = 1,
|
||||||
|
baud57600 = 0
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
data5 = 0,
|
||||||
|
data6 = 2048,
|
||||||
|
data7 = 1024,
|
||||||
|
data8 = 3072
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
noParity = 0,
|
||||||
|
oddParity = 4096,
|
||||||
|
evenParity = 12288
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
stop10 = 16384,
|
||||||
|
stop15 = -32768L,
|
||||||
|
stop20 = -16384
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
kSERDConfiguration = 8,
|
||||||
|
kSERDInputBuffer = 9,
|
||||||
|
kSERDSerHShake = 10,
|
||||||
|
kSERDClearBreak = 11,
|
||||||
|
kSERDSetBreak = 12,
|
||||||
|
kSERDBaudRate = 13,
|
||||||
|
kSERDHandshake = 14,
|
||||||
|
kSERDClockMIDI = 15,
|
||||||
|
kSERDMiscOptions = 16,
|
||||||
|
kSERDAssertDTR = 17,
|
||||||
|
kSERDNegateDTR = 18,
|
||||||
|
kSERDSetPEChar = 19,
|
||||||
|
kSERDSetPEAltChar = 20,
|
||||||
|
kSERDSetXOffFlag = 21,
|
||||||
|
kSERDClearXOffFlag = 22,
|
||||||
|
kSERDSendXOn = 23,
|
||||||
|
kSERDSendXOnOut = 24,
|
||||||
|
kSERDSendXOff = 25,
|
||||||
|
kSERDSendXOffOut = 26,
|
||||||
|
kSERDResetChannel = 27,
|
||||||
|
kSERDHandshakeRS232 = 28,
|
||||||
|
kSERDStickParity = 29,
|
||||||
|
kSERDAssertRTS = 30,
|
||||||
|
kSERDNegateRTS = 31,
|
||||||
|
kSERD115KBaud = 115,
|
||||||
|
kSERD230KBaud = 230
|
||||||
|
};
|
||||||
|
|
||||||
typedef struct ParamBlockRec ParamBlockRec_t;
|
typedef struct ParamBlockRec ParamBlockRec_t;
|
||||||
|
|
||||||
struct ParamBlockRec {
|
struct ParamBlockRec {
|
||||||
@ -68,8 +155,25 @@ struct ParamBlockRec {
|
|||||||
u_int16_t ioPosMode; /* positioning mode and newline char */
|
u_int16_t ioPosMode; /* positioning mode and newline char */
|
||||||
int32_t ioPosOffset; /* positionning offset */
|
int32_t ioPosOffset; /* positionning offset */
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
typedef struct ParamBlockRec ParamBlockRec;
|
||||||
typedef struct ParamBlockRec* ParmBlkPtr;
|
typedef struct ParamBlockRec* ParmBlkPtr;
|
||||||
|
|
||||||
|
struct CntrlParam {
|
||||||
|
u_int32_t qLink;
|
||||||
|
int16_t qType;
|
||||||
|
int16_t ioTrap;
|
||||||
|
u_int32_t ioCmdAddr;
|
||||||
|
u_int32_t ioCompletion;
|
||||||
|
volatile OSErr ioResult;
|
||||||
|
char* ioNamePtr;
|
||||||
|
int16_t ioVRefNum;
|
||||||
|
int16_t ioCRefNum;
|
||||||
|
int16_t csCode;
|
||||||
|
int16_t csParam[11];
|
||||||
|
};
|
||||||
|
typedef struct CntrlParam CntrlParam;
|
||||||
|
typedef CntrlParam* CntrlParamPtr;
|
||||||
|
|
||||||
#define ASSERT_PBR(a) if ( sizeof(ParamBlockRec_t) != 50 ) { a }
|
#define ASSERT_PBR(a) if ( sizeof(ParamBlockRec_t) != 50 ) { a }
|
||||||
|
|
||||||
extern void glue_display_properties(unsigned long *base,
|
extern void glue_display_properties(unsigned long *base,
|
||||||
@ -81,6 +185,7 @@ extern void ReadLocation(MachineLocation * loc);
|
|||||||
extern void* NewPtr(unsigned long byteCount);
|
extern void* NewPtr(unsigned long byteCount);
|
||||||
extern void DisposePtr(void* ptr);
|
extern void DisposePtr(void* ptr);
|
||||||
extern OSErr PBReadSync(ParamBlockRec_t* paramBlock);
|
extern OSErr PBReadSync(ParamBlockRec_t* paramBlock);
|
||||||
|
extern OSErr PBWriteSync(ParamBlockRec_t* paramBlock);
|
||||||
extern OSErr PBOpenSync(ParmBlkPtr paramBlock);
|
extern OSErr PBOpenSync(ParmBlkPtr paramBlock);
|
||||||
extern OSErr PBCloseSync(ParmBlkPtr paramBlock);
|
extern OSErr PBCloseSync(ParmBlkPtr paramBlock);
|
||||||
extern OSErr PBControlSync(ParmBlkPtr paramBlock);
|
extern OSErr PBControlSync(ParmBlkPtr paramBlock);
|
||||||
|
Loading…
Reference in New Issue
Block a user