32 |
|
SERDPort *the_serd_port[2]; |
33 |
|
|
34 |
|
// Function pointers from imported functions |
35 |
< |
typedef int16 (*iocommandiscomplete_ptr)(uint32, int16); |
36 |
< |
static iocommandiscomplete_ptr IOCommandIsComplete; |
35 |
> |
typedef int16 (*iocic_ptr)(uint32, int16); |
36 |
> |
static uint32 iocic_tvect = 0; |
37 |
> |
static inline int16 IOCommandIsComplete(uint32 arg1, int16 arg2) |
38 |
> |
{ |
39 |
> |
return (int16)CallMacOS2(iocic_ptr, iocic_tvect, arg1, arg2); |
40 |
> |
} |
41 |
|
|
42 |
|
|
43 |
|
/* |
59 |
|
D(bug("SerialOpen pb %08lx, dce %08lx\n", pb, dce)); |
60 |
|
|
61 |
|
// Get IOCommandIsComplete function |
62 |
< |
IOCommandIsComplete = (iocommandiscomplete_ptr)FindLibSymbol("\021DriverServicesLib", "\023IOCommandIsComplete"); |
63 |
< |
D(bug("IOCommandIsComplete TVECT at %08lx\n", (uint32)IOCommandIsComplete)); |
64 |
< |
if (IOCommandIsComplete == NULL) { |
62 |
> |
iocic_tvect = (uint32)FindLibSymbol("\021DriverServicesLib", "\023IOCommandIsComplete"); |
63 |
> |
D(bug("IOCommandIsComplete TVECT at %08lx\n", iocic_tvect)); |
64 |
> |
if (iocic_tvect == 0) { |
65 |
|
printf("FATAL: SerialOpen(): Can't find IOCommandIsComplete()\n"); |
66 |
|
return openErr; |
67 |
|
} |