Adapt everything in BT5 to new capnhook API
This includes: - Renaming of functions (iohook_invoke_next) - Slight interface changes (com_proxy_wrap, iohook_push_handler) - De-duplicate stuff from utils (iobuf, hr)
This commit is contained in:
@@ -20,16 +20,13 @@
|
||||
static bool my_dll_entry_init(char *sidcode, struct property_node *param);
|
||||
static bool my_dll_entry_main(void);
|
||||
|
||||
static const irp_handler_t unicorntail_handlers[] = {
|
||||
p3io_filter_dispatch_irp,
|
||||
usbmem_dispatch_irp,
|
||||
};
|
||||
|
||||
static bool my_dll_entry_init(char *sidcode, struct property_node *param)
|
||||
{
|
||||
log_info("--- Begin unicorntail dll_entry_init ---");
|
||||
|
||||
iohook_init(unicorntail_handlers, lengthof(unicorntail_handlers));
|
||||
iohook_push_handler(p3io_filter_dispatch_irp);
|
||||
iohook_push_handler(usbmem_dispatch_irp);
|
||||
|
||||
p3io_filter_init();
|
||||
usbmem_init();
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ p3io_filter_dispatch_irp(struct irp *irp)
|
||||
LeaveCriticalSection(&p3io_handle_lock);
|
||||
|
||||
if (!match) {
|
||||
return irp_invoke_next(irp);
|
||||
return iohook_invoke_next(irp);
|
||||
}
|
||||
|
||||
switch (irp->op) {
|
||||
@@ -68,7 +68,7 @@ p3io_filter_dispatch_irp(struct irp *irp)
|
||||
case IRP_OP_READ:
|
||||
return p3io_handle_read(irp);
|
||||
default:
|
||||
return irp_invoke_next(irp);
|
||||
return iohook_invoke_next(irp);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ static HRESULT p3io_handle_open(struct irp *irp)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
hr = irp_invoke_next(irp);
|
||||
hr = iohook_invoke_next(irp);
|
||||
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
@@ -169,7 +169,7 @@ static HRESULT p3io_handle_write(struct irp *irp)
|
||||
/* Non-UART command, break out here. */
|
||||
irp->write.pos = 0;
|
||||
|
||||
return irp_invoke_next(irp);
|
||||
return iohook_invoke_next(irp);
|
||||
}
|
||||
|
||||
/* Frame up and queue a response packet */
|
||||
@@ -189,7 +189,7 @@ static HRESULT p3io_handle_read(struct irp *irp)
|
||||
if (p3io_resp.pos == 0) {
|
||||
LeaveCriticalSection(&p3io_cmd_lock);
|
||||
|
||||
return irp_invoke_next(irp);
|
||||
return iohook_invoke_next(irp);
|
||||
} else {
|
||||
iobuf_flip(&tmp, &p3io_resp);
|
||||
iobuf_move(&irp->read, &tmp);
|
||||
|
||||
@@ -35,7 +35,7 @@ void usbmem_fini(void)
|
||||
irp.op = IRP_OP_CLOSE;
|
||||
irp.fd = usbmem_fd;
|
||||
|
||||
irp_invoke_next(&irp);
|
||||
iohook_invoke_next(&irp);
|
||||
}
|
||||
|
||||
DeleteCriticalSection(&usbmem_lock);
|
||||
@@ -54,7 +54,7 @@ usbmem_dispatch_irp(struct irp *irp)
|
||||
if (!usbmem_match_irp(irp)) {
|
||||
LeaveCriticalSection(&usbmem_lock);
|
||||
|
||||
return irp_invoke_next(irp);
|
||||
return iohook_invoke_next(irp);
|
||||
} else {
|
||||
hr = usbmem_dispatch_irp_locked(irp);
|
||||
LeaveCriticalSection(&usbmem_lock);
|
||||
@@ -94,7 +94,7 @@ static HRESULT usbmem_handle_open(struct irp *irp)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
hr = irp_invoke_next(irp);
|
||||
hr = iohook_invoke_next(irp);
|
||||
|
||||
if (SUCCEEDED(hr)) {
|
||||
log_info("Opened a real usbmem port");
|
||||
@@ -108,7 +108,11 @@ static HRESULT usbmem_handle_open(struct irp *irp)
|
||||
start emulating a usbmem unit. */
|
||||
|
||||
if (usbmem_fd == NULL || usbmem_fd == INVALID_HANDLE_VALUE) {
|
||||
usbmem_fd = iohook_open_dummy_fd();
|
||||
hr = iohook_open_nul_fd(&usbmem_fd);
|
||||
|
||||
if (hr != S_OK) {
|
||||
log_fatal("Opening nul fd failed: %08lx", hr);
|
||||
}
|
||||
}
|
||||
|
||||
irp->fd = usbmem_fd;
|
||||
@@ -120,7 +124,7 @@ static HRESULT usbmem_handle_close(struct irp *irp)
|
||||
{
|
||||
usbmem_fd = NULL;
|
||||
|
||||
return irp_invoke_next(irp);
|
||||
return iohook_invoke_next(irp);
|
||||
}
|
||||
|
||||
static HRESULT usbmem_handle_write(struct irp *irp)
|
||||
|
||||
Reference in New Issue
Block a user