ior
int ior;
int ior;
ior = 0;
ior = ficlFileStatus(filename, &status);
ficlStackPushInteger(vm->dataStack, ior);
ior = errno;
ficlStackPushInteger(vm->dataStack, ior);
cistpl_cftable_entry_io_range_t *ior;
ior = &io->range[i];
ior->addr = 0;
ior->length = 0;
ior->addr |= (GET_BYTE(tp) <<
ior->length |= (GET_BYTE(tp) <<
cs_request_io(client_handle_t client_handle, io_req_t *ior)
if (!ior->NumPorts2)
ior->Attributes2 = 0;
if ((ior->Attributes1 | ior->Attributes2) & (IO_SHARED |
if (!ior->NumPorts1)
if ((ior->NumPorts2) && !(ior->BasePort1.base && ior->BasePort2.base))
if (!ior->NumPorts2)
ior->BasePort2.base = 0;
if (ior->IOAddrLines) {
ior->BasePort1.base = IOADDR_FROBNITZ(ior->BasePort1.base,
ior->IOAddrLines);
ior->BasePort2.base = IOADDR_FROBNITZ(ior->BasePort2.base,
ior->IOAddrLines);
ior->BasePort1.base = ior->BasePort1.base &
((IONUMPORTS_FROBNITZ(ior->NumPorts1) +
IONUMPORTS_FROBNITZ(ior->NumPorts2)) - 1);
ior->BasePort2.base = ior->BasePort2.base &
((IONUMPORTS_FROBNITZ(ior->NumPorts1) +
IONUMPORTS_FROBNITZ(ior->NumPorts2)) - 1);
if ((ior->BasePort1.base + ior->NumPorts1 +
ior->BasePort2.base + ior->NumPorts2) > imw->size) {
csx_DupHandle(imw->handle, &ior->BasePort1.handle, 0);
csx_GetHandleOffset(ior->BasePort1.handle, &offset);
csx_SetHandleOffset(ior->BasePort1.handle,
ior->BasePort1.base + offset);
if (ior->NumPorts2) {
csx_DupHandle(imw->handle, &ior->BasePort2.handle, 0);
csx_GetHandleOffset(ior->BasePort2.handle, &offset);
csx_SetHandleOffset(ior->BasePort2.handle,
ior->BasePort1.base + offset);
baseaddru.base = ior->BasePort1.base;
if ((error = cs_allocate_io_win(sp->socket_num, ior->Attributes1,
&ior->NumPorts1,
ior->IOAddrLines,
ior->Attributes1)) !=
ior->BasePort1.handle = (acc_handle_t)baseaddru.handle;
ior->BasePort1.base = baseaddru.base;
if (ior->NumPorts2) {
baseaddru.base = ior->BasePort2.base;
ior->Attributes2,
&ior->NumPorts2,
ior->IOAddrLines,
ior->Attributes2)) !=
ior->BasePort2.handle = (acc_handle_t)baseaddru.handle;
ior->BasePort2.base = baseaddru.base;
client->io_alloc.BasePort1.base = ior->BasePort1.base;
client->io_alloc.BasePort1.handle = ior->BasePort1.handle;
client->io_alloc.NumPorts1 = ior->NumPorts1;
client->io_alloc.Attributes1 = ior->Attributes1;
client->io_alloc.BasePort2.base = ior->BasePort2.base;
client->io_alloc.BasePort2.handle = ior->BasePort2.handle;
client->io_alloc.NumPorts2 = ior->NumPorts2;
client->io_alloc.Attributes2 = ior->Attributes2;
client->io_alloc.IOAddrLines = ior->IOAddrLines;
cs_release_io(client_handle_t client_handle, io_req_t *ior)
ior = NULL;
if ((client->io_alloc.BasePort1 != ior->BasePort1) ||
(client->io_alloc.NumPorts1 != ior->NumPorts1) ||
(client->io_alloc.Attributes1 != ior->Attributes1) ||
(client->io_alloc.BasePort2 != ior->BasePort2) ||
(client->io_alloc.NumPorts2 != ior->NumPorts2) ||
(client->io_alloc.Attributes2 != ior->Attributes2) ||
(client->io_alloc.IOAddrLines != ior->IOAddrLines)) {
csx_FreeHandle(&ior->BasePort1.handle);
csx_RequestIO(client_handle_t ch, io_req_t *ior)
return (CardServices(RequestIO, ch, ior));
csx_ReleaseIO(client_handle_t ch, io_req_t *ior)
return (CardServices(ReleaseIO, ch, ior));