added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / compiler / include / midi / camddevices.h
blobce67696c6f6f3ce45d324982947c87a3d916c5dc
1 #ifndef MIDI_CAMDDEVICES_H
2 #define MIDI_CAMDDEVICES_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 $Id$
7 */
9 #ifndef EXEC_TYPES_H
10 # include <exec/types.h>
11 #endif
13 #ifndef LIBCORE_COMPILER_H
14 # include <libcore/compiler.h>
15 #endif
18 struct MidiPortData{
19 void (* ASM ActivateXmit)(APTR REG(a2) userdata,ULONG REG(d0) portnum);
22 struct MidiDeviceData{
23 ULONG Magic;
25 char *Name;
26 char *IDString;
28 UWORD Version;
29 UWORD Revision;
31 /* Called right after LoadSeg() */
32 BOOL (ASM *Init)(
33 /* Added. -Kjetil M. */
34 REG(a6) APTR SysBase
38 /* Called right before UnLoadSeg() */
39 void (*Expunge)(void);
41 struct MidiPortData *(ASM *OpenPort)(
42 REG(a3) struct MidiDeviceData *data,
43 REG(d0) LONG portnum,
44 REG(a0) ULONG (* ASM transmitfunc)(APTR REG(a2) userdata),
45 REG(a1) void (* ASM recievefunc)(UWORD REG(d0) input, APTR REG(a2) userdata),
46 REG(a2) APTR userdata
49 void (ASM *ClosePort)(
50 REG(a3) struct MidiDeviceData *data,
51 REG(d0) LONG portnum
54 /* Number of ports. Cam be set in the Init-function if prefered. */
55 UBYTE NPorts;
57 /* 0=Old format, 1=new. Aros only supports the new format, so set this flag (ie. Flags=1) for now. */
58 UBYTE Flags;
62 #define MDD_Magic ((ULONG)'M'<<24|(ULONG)'D'<<16|'E'<<8|'V')
65 #endif