| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- Data Structures
- Data Structure Index
- Data Fields

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
USBD_HID_API_T Struct Reference
HID Class Function Driver

## Detailed Description

HID class API functions structure.

This structure contains pointers to all the function exposed by HID function driver module.

Definition at line 343 of file usbd_hiduser.h.

`#include "usbd_hiduser.h"`

## Data Fields
uint32_t(* | GetMemSize )(USBD_HID_INIT_PARAM_T *param)
ErrorCode_t(* | init )(USBD_HANDLE_T hUsb, USBD_HID_INIT_PARAM_T *param)

## Field Documentation

uint32_t(* GetMemSize)(USBD_HID_INIT_PARAM_T *param)

Function to determine the memory required by the HID function driver module.

This function is called by application layer before calling pUsbApi->hid->Init(), to allocate memory used by HID function driver module. The application should allocate the memory which is accessible by USB controller/DMA controller.

Note
  Some memory areas are not accessible by all bus masters.

Parameters

  [in] | param | Structure containing HID function driver module initialization parameters.

Returns
  Returns the required memory size in bytes.

Function to determine the memory required by the HID function driver module.

This function is called by application layer before calling pUsbApi->hid->Init(), to allocate memory used by HID function driver module. The application should allocate the memory which is accessible by USB controller/DMA controller.

Note
  Some memory areas are not accessible by all bus masters.

Parameters

  param | Structure containing HID function driver module initialization parameters.

Returns
  Returns the required memory size in bytes.

Definition at line 356 of file usbd_hiduser.h.

ErrorCode_t(* init)(USBD_HANDLE_T hUsb, USBD_HID_INIT_PARAM_T *param)

Function to initialize HID function driver module.

This function is called by application layer to initialize HID function driver module. On successful initialization the function returns a handle to HID function driver module in passed param structure.

Parameters

  [in] | hUsb | Handle to the USB device stack.
  [in,out] | param | Structure containing HID function driver module initialization parameters.

Returns
  Returns ErrorCode_t type to indicate success or error condition.

Return values

  LPC_OK | On success
  ERR_USBD_BAD_MEM_BUF | Memory buffer passed is not 4-byte aligned or smaller than required.
  ERR_API_INVALID_PARAM2 | Either HID_GetReport() or HID_SetReport() callback are not defined.
  ERR_USBD_BAD_DESC | HID_HID_DESCRIPTOR_TYPE is not defined immediately after interface descriptor.
  ERR_USBD_BAD_INTF_DESC | Wrong interface descriptor is passed.
  ERR_USBD_BAD_EP_DESC | Wrong endpoint descriptor is passed.

Function to initialize HID function driver module.

This function is called by application layer to initialize HID function driver module. On successful initialization the function returns a handle to HID function driver module in passed param structure.

Parameters

  hUsb | Handle to the USB device stack.
  param | Structure containing HID function driver module initialization parameters.

Returns
  Returns ErrorCode_t type to indicate success or error condition.

Return values

  LPC_OK | On success
  ERR_USBD_BAD_MEM_BUF | Memory buffer passed is not 4-byte aligned or smaller than required.
  ERR_API_INVALID_PARAM2 | Either HID_GetReport() or HID_SetReport() callback are not defined.
  ERR_USBD_BAD_DESC | HID_HID_DESCRIPTOR_TYPE is not defined immediately after interface descriptor.
  ERR_USBD_BAD_INTF_DESC | Wrong interface descriptor is passed.
  ERR_USBD_BAD_EP_DESC | Wrong endpoint descriptor is passed.

Definition at line 379 of file usbd_hiduser.h.

The documentation for this struct was generated from the following files:

- C:/nxp/v1.03/lpcopen_v1.03/lpcopen/software/lpc_core/lpc_ip/usbd_rom/usbd_hiduser.h
- C:/nxp/v1.03/lpcopen_v1.03/lpcopen/software/LPCUSBLib/Drivers/USB/Core/DCD/USBRom/usbd_hiduser.h