USB Resource Manager voor OS/2 (ArcaOS, eComStation) - PAS OP: Dit is beta test software!

Mag vrij gebruikt en geruild worden zolang het niet veranderd wordt. Je mag dit produkt enkel op eigen risico gebruiken. Ik kan niet aansprakelijk gesteld worden voor enige schade onstaan door jouw gebruik van dit produkt. Je mag dit produkt niet leasen, verhuren of verkopen aan anderen. Veel plezier.

Beschrijving - Deze (beta test) combinatie van USBCALLS.DLL en USBRESMG.SYS ondersteunt applicatie run-time dynamic linking evenals load-time dynamic linking. Bevat de "USBCALLS - API Reference Guide" voor applicatie ontwikkelaars. Bevat de "USBCALLS - REXX/2 Reference Guide" voor rexx programmeurs.

Installatie - Plaats USBRES05.ZIP in een directory naar keuze en pak het uit. Om USBCALLS.DLL te kunnen vervangen moet je eerst het eCenter afsluiten. Vervang USBCALLS.DLL in jouw \ECS\DLL of \OS2\DLL directory en vervang USBRESMG.SYS en USBRESMG.SYM in jouw \ECS\BOOT of \OS2\BOOT directory. Herstart jouw systeem.

Haal dit produkt hier gratis op. Klik hier voor mijn thuispagina.

Asynchrone Werking

De toepassing komt direct weer aan bod nadat het transfer verzoek gestart is. De toepassing wordt pas geinformeerd wanneer dat transfer verzoek voltooid is.

Parm Buffer (control)
fielddescription
usStatuscompletion status
usDataLengthcompletion length

PAS OP: Er mag slechts een UsbStartCtrlTransfer uitstaan naar een bepaald eindpunt.

Wordt UsbStartCtrlTransfer aangeroepen met een optionele Data Buffer dan moet usDatalength in de Parm Buffer gevuld zijn met de grootte van die Data Buffer. Wanneer het transfer verzoek voltooid is dan bevat usDataLength in de Parm Buffer het aantal getransporteerde bytes.

Parm Buffer (data)
fielddescription
usStatuscompletion status
usDataLengthcompletion length

PAS OP: Er mag slechts een UsbStartDataTransfer uitstaan naar een bepaald eindpunt.

Wordt UsbStartDataTransfer aangeroepen dan is een Data Buffer vereist en moet usDatalength in de Parm Buffer gevuld zijn met de grootte van die Data Buffer. Wanneer het transfer verzoek voltooid is dan bevat usDataLength in de Parm Buffer het aantal getransporteerde bytes.

Isochrone Werking

De toepassing komt direct weer aan bod nadat het transfer verzoek gestart is. De toepassing wordt pas geinformeerd wanneer dat transfer verzoek voltooid is.

Parm Buffer (frames)
fielddescription
usStatuscompletion status
usDataLengthcompletion length
usFrameSize[]frame size array

Individuele Iso Frames worden gebruikt wanneer usFrameCount groter dan 0 is.

Wordt UsbStartIsoTransfer gebruikt met Individuele Iso Frames dan moet usDatalength in de Parm Buffer gevuld zijn met usFrameCount*usFramelength en elk element van usFrameSize[] in de Parm Buffer moet gevuld zijn met usFrameLength. Als het transfer verzoek voltooid is dan bevat elk element van usFrameSize[] het aantal getransporteerde bytes.

Parm Buffer (stream)
fielddescription
usStatuscompletion status
usDataLengthcompletion length

Samengevoegde Payloads worden gebruikt wanneer usFrameCount 0 is.

Wordt UsbStartIsoTransfer gebruikt met Samengevoegde Payloads dan moet usDatalength in de Parm Buffer gevuld zijn met de Data Buffer grootte. Als het transfer verzoek voltooid is dan bevat usDataLength in de Parm Buffer het aantal getransporteerde bytes.

Synchrone Werking

De toepassing komt pas weer aan bod wanneer het transfer verzoek voltooid is.

Application Program Interface

USBCALLS.DLL verschaft de Application Program Interface. De beschikbare functies zijn als volgt beschreven:

USBCALLS.H verschaft de Standard Device Requests. De beschikbare functies zijn als volgt beschreven:

Access Device

ulrc=UsbOpen(pHandle,usVendor,usProduct,usBCDDevice,usEnumDevice);

Verschaft toegang tot een specifiek USB apparaat.

ulrc=UsbClose(Handle);

Beeindigt toegang tot een specifiek USB apparaat.

Control Transfer

ulrc=UsbCtrlMessage(Handle,ucRequestType,ucRequest,usValue,usIndex,usLength,pucData,ulTimeout);

Verwerkt synchrone Control Transfer met het standaard endpoint.

ulrc=UsbCtrlTransfer(Handle,ucEndpoint,ucAltSetting,ucRequestType,ucRequest,usValue,usIndex,pusLength,pucData,ulTimeout);

Verwerkt synchrone Control Transfer met een specifiek endpoint.

ulrc=UsbStartCtrlTransfer(Handle,ucEndpoint,ucAltSetting,ucRequestType,ucRequest,usValue,usIndex,pucParm,pucData,ulEvent);

Start asynchrone Control Transfer met een specifiek endpoint.

ulrc=UsbCancelTransfer(Handle,ucEndpoint,ucAltSetting,ulEvent);

Stopt asynchrone Control Transfer met een specifiek endpoint.

Data Transfer

ulrc=UsbBulkRead(Handle,ucEndpoint,ucAltSetting,pulNumBytes,pucData,ulTimeout);

Verwerkt synchrone device-to-host Bulk Transfer met een specifiek endpoint.

ulrc=UsbBulkWrite(Handle,ucEndpoint,ucAltSetting,ulNumBytes,pucData,ulTimeout);

Verwerkt synchrone host-to-device Bulk Transfer met een specifiek endpoint.

ulrc=UsbDataTransfer(Handle,ucEndpoint,ucAltSetting,pulNumBytes,pucData,ulTimeout,usFlags);

Verwerkt synchrone Bulk of Interrupt Transfer met een specifiek endpoint.

ulrc=UsbIrqRead(Handle,ucEndpoint,ucAltSetting,pulNumBytes,pucData,ulTimeout);

Verwerkt synchrone device-to-host Interrupt Transfer met een specifiek endpoint.

ulrc=UsbIrqWrite(Handle,ucEndpoint,ucAltSetting,ulNumBytes,pucData,ulTimeout);

Verwerkt synchrone host-to-device Interrupt Transfer met een specifiek endpoint.

ulrc=UsbStartDataTransfer(Handle,ucEndpoint,ucAltSetting,pucParm,pucData,ulEvent,usFlags);

Start asynchrone Bulk of Interrupt Transfer met een specifiek endpoint.

ulrc=UsbCancelTransfer(Handle,ucEndpoint,ucAltSetting,ulEvent);

Stopt asynchrone Bulk of Interrupt Transfer met een specifiek endpoint.

Isochronous Transfer

ulrc=UsbIsoOpen(Handle,ucEndpoint,ucAltSetting,usBufferCount,usFrameLength);

Reserveert bandbreedte en hulpbronnen voor Isochronous Transfer.

ulrc=UsbIsoClose(Handle,ucEndpoint,ucAltSetting);

Geeft bandbreedte en hulpbronnen voor Isochronous Transfer vrij.

ulrc=UsbStartIsoTransfer(Handle,ucEndpoint,ucAltSetting,ulEvent,pucParm,pucData,usFrameLength,usFrameCount);

Start asynchrone Isochronous Transfer met een specifiek endpoint.

ulrc=UsbCancelTransfer(Handle,ucEndpoint,ucAltSetting,ulEvent);

Stopt asynchrone Isochronous Transfer met een specifiek endpoint.

PNP Notificatie

ulrc=UsbRegisterChangeNotification(pNotifyID,hDeviceAdded,hDeviceRemoved);

Registreert semaphores voor een algemene attach/detach notificatie van USB apparaten.

ulrc=UsbRegisterDeviceNotification(pNotifyID,hDeviceAdded,hDeviceRemoved,usVendor,usProduct,usBCDDevice);

Registreert semaphores voor attach/detach notificatie van een specifiek USB apparaat.

ulrc=UsbDeregisterNotification(NotifyID);

Verwijdert de registratie van attach/detach notificatie semaphores.

Systeem Informatie

ulrc=UsbQueryVersion(pUsbVersion,pulBufLen);

Verkrijgt de versienummers van de USB Resource Manager componenten.

ulrc=UsbQueryNumberDevices(pulNumDev);

Verkrijgt het totale aantal huidig verbonden USB apparaten.

ulrc=UsbQueryDeviceInfo(ulDevNumber,pulBufLen,pucData);

Verkrijgt verbindingsinformatie over een specifiek USB apparaat.

ulrc=UsbQueryDeviceReport(ulDevNumber,pulBufLen,pucData);

Verkrijgt de compound USB descriptors van een specifiek USB apparaat.

ulrc=UsbQueryStringReport(Handle,usLangID,ucStringID,pulBufLen,pucData);

Verkrijgt een array van talen ondersteund door een specifiek USB apparaat. Verkrijgt de opgegeven string descriptor van een specifiek USB apparaat.

Device Control

ulrc=UsbDeviceGetConfiguration(Handle,pucConfiguration);

Executes the Standard Device Request that obtains the current Configuration Value.

ulrc=UsbDeviceSetConfiguration(Handle,ucConfiguration);

Executes the Standard Device Request that sets the current Configuration Value.

ulrc=UsbDeviceGetStatus(Handle,pucStatus);

Executes the Standard Device Request that obtains the status of a USB device.

ulrc=UsbDeviceClearFeature(Handle,ucFeature);

Executes the Standard Device Request that clears or disables a USB device feature.

ulrc=UsbDeviceSetFeature(Handle,ucFeature);

Executes the Standard Device Request that sets or enables a USB device feature.

ulrc=UsbDeviceSetAddress(Handle,ucAddress);

Executes the Standard Device Request that sets the USB device address.

Endpoint Control

ulrc=UsbEndpointGetStatus(Handle,ucEndpoint,pucStatus);

Executes the Standard Device Request that obtains the status of an endpoint.

ulrc=UsbEndpointClearHalt(Handle,ucEndpoint);

Executes the Standard Device Request that clears an endpoint halt status.

ulrc=UsbEndpointClearFeature(Handle,ucEndpoint,ucFeature);

Executes the Standard Device Request that clears or disables an endpoint feature.

ulrc=UsbEndpointSetFeature(Handle,ucEndpoint,ucFeature);

Executes the Standard Device Request that sets or enables an endpoint feature.

ulrc=UsbEndpointSynchFrame(Handle,ucEndpoint,pucFrame);

Executes the Standard Device Request that synchronizes endpoint and frame.

Interface Control

ulrc=UsbInterfaceGetAltSetting(Handle,ucInterface,pucAltSetting);

Executes the Standard Device Request that obtains the Alternate Setting for an interface.

ulrc=UsbInterfaceSetAltSetting(Handle,ucInterface,ucAltSetting);

Executes the Standard Device Request that selects the Alternate Setting for an interface.

ulrc=UsbInterfaceGetStatus(Handle,ucInterface,pucStatus);

Executes the Standard Device Request that obtains the status of an interface.

ulrc=UsbInterfaceClearFeature(Handle,ucInterface,ucFeature);

Executes the Standard Device Request that clears or disables an interface feature.

ulrc=UsbInterfaceSetFeature(Handle,ucInterface,ucFeature);

Executes the Standard Device Request that sets or enables an interface feature.

Verkrijg Descriptor

ulrc=UsbDeviceGetDescriptor(Handle,usLength,pucDescriptor);

Executes the Standard Device Request that obtains the Device Descriptor.

ulrc=UsbConfigurationGetDescriptor(Handle,usLength,pucDescriptor);

Executes the Standard Device Request that obtains the Configuration Descriptor.

ulrc=UsbStringGetDescriptor(Handle,ucIndex,usLanguage,usLength,pucDescriptor);

Executes the Standard Device Request that obtains the String Descriptor.

Verschaf Descriptor

ulrc=UsbDeviceSetDescriptor(Handle,usLength,pucDescriptor);

Executes the Standard Device Request that updates the Device Descriptor.

ulrc=UsbConfigurationSetDescriptor(Handle,usLength,pucDescriptor);

Executes the Standard Device Request that updates the Configuration Descriptor.

ulrc=UsbStringSetDescriptor(Handle,ucIndex,usLanguage,usLength,pucDescriptor);

Executes the Standard Device Request that adds or updates the String Descriptor.

Device Driver Interface

USBRESMG.SYS is de device driver. USB Device Monitor Version 0.9.7 is the enige die deze interface mag gebruiken.

REXX/2 Interface

USBCALLS.DLL verschaft de REXX/2 Externe Functies. Zie de USBCALLS - REXX/2 Reference Guide.

Voldoet aan XHTML 1.0 Voldoet aan CSS 2.1 W.M.Brul 2013-2017, alle rechten voorbehouden.