Библиотека LUFA (раннее название MyUSB) версия 101122
Общие определения класса

Data Structures

struct  MAC_Address_t
 Структура MAC-адреса. More...
struct  Ethernet_Frame_Info_t
 Информационая структура пакета фрейма RNDIS Ethernet. More...
struct  RNDIS_Message_Header_t
 Структура общего заголовка сообщения RNDIS (RNDIS Common Message Header). More...
struct  RNDIS_Packet_Message_t
 Структура сообщения RNDIS. More...
struct  RNDIS_Initialize_Message_t
 Структура инициализационного сообщения RNDIS. More...
struct  RNDIS_Initialize_Complete_t
 Структура сообщения завершения инициализации RNDIS. More...
struct  RNDIS_KeepAlive_Message_t
 Структура сообщения поддержания связи (Keep Alive) RNDIS. More...
struct  RNDIS_KeepAlive_Complete_t
 Структура сообщения выполнения поддержки связи (Keep Alive) RNDIS. More...
struct  RNDIS_Reset_Complete_t
 Структура сообщения выполнения сброса RNDIS. More...
struct  RNDIS_Set_Message_t
 Структура сообщения установки свойства RNDIS OID. More...
struct  RNDIS_Set_Complete_t
 Структура сообщения завершения установки свойства RNDIS OID. More...
struct  RNDIS_Query_Message_t
 Структура сообщения опроса свойства RNDIS OID. More...
struct  RNDIS_Query_Complete_t
 Структура сообщения завершения опроса свойства RNDIS OID. More...

Defines

#define REMOTE_NDIS_VERSION_MAJOR   0x01
#define REMOTE_NDIS_VERSION_MINOR   0x00
#define REMOTE_NDIS_MEDIUM_802_3   0x00000000UL
#define RNDIS_MESSAGE_BUFFER_SIZE   128
#define ETHERNET_FRAME_SIZE_MAX   1500

Enumerations

enum  RNDIS_ClassRequests_t {
  RNDIS_REQ_SendEncapsulatedCommand = 0x00,
  RNDIS_REQ_GetEncapsulatedResponse = 0x01
}
enum  RNDIS_States_t {
  RNDIS_Uninitialized = 0,
  RNDIS_Initialized = 1,
  RNDIS_Data_Initialized = 2
}
enum  RNDIS_ClassNotifications_t { RNDIS_NOTIF_ResponseAvailable = 0x01 }
enum  NDIS_Hardware_Status_t {
  NDIS_HardwareStatus_Ready,
  NDIS_HardwareStatus_Initializing,
  NDIS_HardwareStatus_Reset,
  NDIS_HardwareStatus_Closing,
  NDIS_HardwareStatus_NotReady
}

Значения сообщений RNDIS

#define REMOTE_NDIS_PACKET_MSG   0x00000001UL
#define REMOTE_NDIS_INITIALIZE_MSG   0x00000002UL
#define REMOTE_NDIS_HALT_MSG   0x00000003UL
#define REMOTE_NDIS_QUERY_MSG   0x00000004UL
#define REMOTE_NDIS_SET_MSG   0x00000005UL
#define REMOTE_NDIS_RESET_MSG   0x00000006UL
#define REMOTE_NDIS_INDICATE_STATUS_MSG   0x00000007UL
#define REMOTE_NDIS_KEEPALIVE_MSG   0x00000008UL

Значения ответов RNDIS

#define REMOTE_NDIS_INITIALIZE_CMPLT   0x80000002UL
#define REMOTE_NDIS_QUERY_CMPLT   0x80000004UL
#define REMOTE_NDIS_SET_CMPLT   0x80000005UL
#define REMOTE_NDIS_RESET_CMPLT   0x80000006UL
#define REMOTE_NDIS_KEEPALIVE_CMPLT   0x80000008UL

Значения статуса RNDIS

#define REMOTE_NDIS_STATUS_SUCCESS   0x00000000UL
#define REMOTE_NDIS_STATUS_FAILURE   0xC0000001UL
#define REMOTE_NDIS_STATUS_INVALID_DATA   0xC0010015UL
#define REMOTE_NDIS_STATUS_NOT_SUPPORTED   0xC00000BBUL
#define REMOTE_NDIS_STATUS_MEDIA_CONNECT   0x4001000BUL
#define REMOTE_NDIS_STATUS_MEDIA_DISCONNECT   0x4001000CUL

Состояния канала (media) RNDIS

#define REMOTE_NDIS_MEDIA_STATE_CONNECTED   0x00000000UL
#define REMOTE_NDIS_MEDIA_STATE_DISCONNECTED   0x00000001UL

Типы соединения RNDIS

#define REMOTE_NDIS_DF_CONNECTIONLESS   0x00000001UL
#define REMOTE_NDIS_DF_CONNECTION_ORIENTED   0x00000002UL

Типы пакета RNDIS

#define REMOTE_NDIS_PACKET_DIRECTED   0x00000001UL
#define REMOTE_NDIS_PACKET_MULTICAST   0x00000002UL
#define REMOTE_NDIS_PACKET_ALL_MULTICAST   0x00000004UL
#define REMOTE_NDIS_PACKET_BROADCAST   0x00000008UL
#define REMOTE_NDIS_PACKET_SOURCE_ROUTING   0x00000010UL
#define REMOTE_NDIS_PACKET_PROMISCUOUS   0x00000020UL
#define REMOTE_NDIS_PACKET_SMT   0x00000040UL
#define REMOTE_NDIS_PACKET_ALL_LOCAL   0x00000080UL
#define REMOTE_NDIS_PACKET_GROUP   0x00001000UL
#define REMOTE_NDIS_PACKET_ALL_FUNCTIONAL   0x00002000UL
#define REMOTE_NDIS_PACKET_FUNCTIONAL   0x00004000UL
#define REMOTE_NDIS_PACKET_MAC_FRAME   0x00008000UL

Значения RNDIS OID

#define OID_GEN_SUPPORTED_LIST   0x00010101UL
#define OID_GEN_HARDWARE_STATUS   0x00010102UL
#define OID_GEN_MEDIA_SUPPORTED   0x00010103UL
#define OID_GEN_MEDIA_IN_USE   0x00010104UL
#define OID_GEN_MAXIMUM_FRAME_SIZE   0x00010106UL
#define OID_GEN_MAXIMUM_TOTAL_SIZE   0x00010111UL
#define OID_GEN_MAXIMUM_TOTAL_SIZE   0x00010111UL
#define OID_GEN_LINK_SPEED   0x00010107UL
#define OID_GEN_TRANSMIT_BLOCK_SIZE   0x0001010AUL
#define OID_GEN_RECEIVE_BLOCK_SIZE   0x0001010BUL
#define OID_GEN_VENDOR_ID   0x0001010CUL
#define OID_GEN_VENDOR_DESCRIPTION   0x0001010DUL
#define OID_GEN_CURRENT_PACKET_FILTER   0x0001010EUL
#define OID_GEN_MEDIA_CONNECT_STATUS   0x00010114UL
#define OID_GEN_PHYSICAL_MEDIUM   0x00010202UL
#define OID_GEN_XMIT_OK   0x00020101UL
#define OID_GEN_RCV_OK   0x00020102UL
#define OID_GEN_XMIT_ERROR   0x00020103UL
#define OID_GEN_RCV_ERROR   0x00020104UL
#define OID_GEN_RCV_NO_BUFFER   0x00020105UL
#define OID_802_3_PERMANENT_ADDRESS   0x01010101UL
#define OID_802_3_CURRENT_ADDRESS   0x01010102UL
#define OID_802_3_MULTICAST_LIST   0x01010103UL
#define OID_802_3_MAXIMUM_LIST_SIZE   0x01010104UL
#define OID_802_3_RCV_ERROR_ALIGNMENT   0x01020101UL
#define OID_802_3_XMIT_ONE_COLLISION   0x01020102UL
#define OID_802_3_XMIT_MORE_COLLISIONS   0x01020103UL

Detailed Description

модуля

Определения констант, типов и перечислений, общие в режимах устройства и хоста, для USB RNDIS Class.


Define Documentation

#define ETHERNET_FRAME_SIZE_MAX   1500

Максимальный размер в байтах фрейма Ethernet согласно стандарту Ethernet.

#define OID_802_3_CURRENT_ADDRESS   0x01010102UL
#define OID_802_3_MAXIMUM_LIST_SIZE   0x01010104UL
#define OID_802_3_MULTICAST_LIST   0x01010103UL
#define OID_802_3_PERMANENT_ADDRESS   0x01010101UL
#define OID_802_3_RCV_ERROR_ALIGNMENT   0x01020101UL
#define OID_802_3_XMIT_MORE_COLLISIONS   0x01020103UL
#define OID_802_3_XMIT_ONE_COLLISION   0x01020102UL
#define OID_GEN_CURRENT_PACKET_FILTER   0x0001010EUL
#define OID_GEN_HARDWARE_STATUS   0x00010102UL
#define OID_GEN_LINK_SPEED   0x00010107UL
#define OID_GEN_MAXIMUM_FRAME_SIZE   0x00010106UL
#define OID_GEN_MAXIMUM_TOTAL_SIZE   0x00010111UL
#define OID_GEN_MAXIMUM_TOTAL_SIZE   0x00010111UL
#define OID_GEN_MEDIA_CONNECT_STATUS   0x00010114UL
#define OID_GEN_MEDIA_IN_USE   0x00010104UL
#define OID_GEN_MEDIA_SUPPORTED   0x00010103UL
#define OID_GEN_PHYSICAL_MEDIUM   0x00010202UL
#define OID_GEN_RCV_ERROR   0x00020104UL
#define OID_GEN_RCV_NO_BUFFER   0x00020105UL
#define OID_GEN_RCV_OK   0x00020102UL
#define OID_GEN_RECEIVE_BLOCK_SIZE   0x0001010BUL
#define OID_GEN_SUPPORTED_LIST   0x00010101UL
#define OID_GEN_TRANSMIT_BLOCK_SIZE   0x0001010AUL
#define OID_GEN_VENDOR_DESCRIPTION   0x0001010DUL
#define OID_GEN_VENDOR_ID   0x0001010CUL
#define OID_GEN_XMIT_ERROR   0x00020103UL
#define OID_GEN_XMIT_OK   0x00020101UL
#define REMOTE_NDIS_DF_CONNECTION_ORIENTED   0x00000002UL
#define REMOTE_NDIS_DF_CONNECTIONLESS   0x00000001UL
#define REMOTE_NDIS_HALT_MSG   0x00000003UL
#define REMOTE_NDIS_INDICATE_STATUS_MSG   0x00000007UL
#define REMOTE_NDIS_INITIALIZE_CMPLT   0x80000002UL
#define REMOTE_NDIS_INITIALIZE_MSG   0x00000002UL
#define REMOTE_NDIS_KEEPALIVE_CMPLT   0x80000008UL
#define REMOTE_NDIS_KEEPALIVE_MSG   0x00000008UL
#define REMOTE_NDIS_MEDIA_STATE_CONNECTED   0x00000000UL
#define REMOTE_NDIS_MEDIA_STATE_DISCONNECTED   0x00000001UL
#define REMOTE_NDIS_MEDIUM_802_3   0x00000000UL
#define REMOTE_NDIS_PACKET_ALL_FUNCTIONAL   0x00002000UL
#define REMOTE_NDIS_PACKET_ALL_LOCAL   0x00000080UL
#define REMOTE_NDIS_PACKET_ALL_MULTICAST   0x00000004UL
#define REMOTE_NDIS_PACKET_BROADCAST   0x00000008UL
#define REMOTE_NDIS_PACKET_DIRECTED   0x00000001UL
#define REMOTE_NDIS_PACKET_FUNCTIONAL   0x00004000UL
#define REMOTE_NDIS_PACKET_GROUP   0x00001000UL
#define REMOTE_NDIS_PACKET_MAC_FRAME   0x00008000UL
#define REMOTE_NDIS_PACKET_MSG   0x00000001UL
#define REMOTE_NDIS_PACKET_MULTICAST   0x00000002UL
#define REMOTE_NDIS_PACKET_PROMISCUOUS   0x00000020UL
#define REMOTE_NDIS_PACKET_SMT   0x00000040UL
#define REMOTE_NDIS_PACKET_SOURCE_ROUTING   0x00000010UL
#define REMOTE_NDIS_QUERY_CMPLT   0x80000004UL
#define REMOTE_NDIS_QUERY_MSG   0x00000004UL
#define REMOTE_NDIS_RESET_CMPLT   0x80000006UL
#define REMOTE_NDIS_RESET_MSG   0x00000006UL
#define REMOTE_NDIS_SET_CMPLT   0x80000005UL
#define REMOTE_NDIS_SET_MSG   0x00000005UL
#define REMOTE_NDIS_STATUS_FAILURE   0xC0000001UL
#define REMOTE_NDIS_STATUS_INVALID_DATA   0xC0010015UL
#define REMOTE_NDIS_STATUS_MEDIA_CONNECT   0x4001000BUL
#define REMOTE_NDIS_STATUS_MEDIA_DISCONNECT   0x4001000CUL
#define REMOTE_NDIS_STATUS_NOT_SUPPORTED   0xC00000BBUL
#define REMOTE_NDIS_STATUS_SUCCESS   0x00000000UL
#define REMOTE_NDIS_VERSION_MAJOR   0x01

Реализованная версия RNDIS мажор.

#define REMOTE_NDIS_VERSION_MINOR   0x00

Реализованная версия RNDIS минор.

#define RNDIS_MESSAGE_BUFFER_SIZE   128

Максимальный размер в байтах управляющего сообщения RNDIS, которое может быть отправлено или принято.


Enumeration Type Documentation

Перечисление для состояний аппаратуры NDIS.

Enumerator:
NDIS_HardwareStatus_Ready 

Аппаратура готова к приему команд от хоста.

NDIS_HardwareStatus_Initializing 

Аппаратура занята инициализацией.

NDIS_HardwareStatus_Reset 

Сброс аппаратуры.

NDIS_HardwareStatus_Closing 

Аппаратура в настоящий момент закрыта.

NDIS_HardwareStatus_NotReady 

Аппаратура не готова к приему команд от хоста.

Перечисление для запросов оповещения, специфичных для класса RNDIS, которые может выдать хосту устройство RNDIS.

Enumerator:
RNDIS_NOTIF_ResponseAvailable 

Значение запроса оповещения для RNDIS Response Available (доступность ответа RNDIS).

Перечисление специфичных для класса RNDIS управляющих запросов, которые могут быть выданы хостом на шину USB.

Enumerator:
RNDIS_REQ_SendEncapsulatedCommand 

запрос RNDIS для выдачи от хоста к устройству команды NDIS.

RNDIS_REQ_GetEncapsulatedResponse 

запрос RNDIS для выдачи от устройства к хосту ответа NDIS.

Перечисление для возможных состояний адаптера NDIS.

Enumerator:
RNDIS_Uninitialized 

адаптер еще не инициализирован.

RNDIS_Initialized 

адаптер инициализирован, но не готов к передачам данных.

RNDIS_Data_Initialized 

адаптер инициализирован и готов к передачам данных.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines