Example #1
0
	.bLength =		sizeof(struct usb_endpoint_descriptor),
	.bDescriptorType =	0x05,
	.bEndpointAddress =	(2 | USB_DIR_OUT),
	.bmAttributes =		0x02,
	.wMaxPacketSize =	64,
	.bInterval =		0
};

__code struct usb_language_descriptor language_descriptor = {
	.bLength =		4,
	.bDescriptorType =	DESCRIPTOR_TYPE_STRING,
	.wLANGID =		{0x0409 /* US English */}
};

__code struct usb_string_descriptor strManufacturer =
	STR_DESCR(9, 'O', 'p', 'e', 'n', 'U', 'L', 'I', 'N', 'K');

__code struct usb_string_descriptor strProduct =
	STR_DESCR(9, 'O', 'p', 'e', 'n', 'U', 'L', 'I', 'N', 'K');

__code struct usb_string_descriptor strSerialNumber =
	STR_DESCR(6, '0', '0', '0', '0', '0', '1');

__code struct usb_string_descriptor strConfigDescr  =
	STR_DESCR(12, 'J', 'T', 'A', 'G', ' ', 'A', 'd', 'a', 'p', 't', 'e', 'r');

/* Table containing pointers to string descriptors */
__code struct usb_string_descriptor *__code en_string_descriptors[4] = {
	&strManufacturer,
	&strProduct,
	&strSerialNumber,
Example #2
0
  /* .bDescriptorType = */     USB_DESCRIPTOR_TYPE_ENDPOINT,
  /* .bEndpointAddress = */    2 | USB_DIR_OUT,
  /* .bmAttributes = */        USB_ENDPOINT_TYPE_BULK,
  /* .wMaxPacketSize = */      64,
  /* .bInterval = */           0
};

__code struct usb_language_descriptor language_descriptor = {
  /* .bLength =  */            4,
  /* .bDescriptorType = */     USB_DESCRIPTOR_TYPE_STRING,
  /* .wLANGID = */             {USB_LANG_ENGLISH_US}
};

/* String Descriptors */

__code struct usb_string_descriptor strManufacturer  = STR_DESCR(13, 'J','o','h','a','n','n',' ','G','l','a','s','e','r');

__code struct usb_string_descriptor strProduct       = STR_DESCR(15, 'E','Z','-','U','S','B',' ','F','i','r','m','w','a','r','e');

__code struct usb_string_descriptor strSerialNumber  = STR_DESCR( 6, '0','0','0','0','0','1');

__code struct usb_string_descriptor strConfigDescr   = STR_DESCR( 8, 'M','y','C','o','n','f','i','g');

__code struct usb_string_descriptor strInterface     = STR_DESCR(11, 'M','y','I','n','t','e','r','f','a','c','e');

/* Table containing pointers to string descriptors */
__code struct usb_string_descriptor* __code en_string_descriptors[5] = {
  &strManufacturer,
  &strProduct,
  &strSerialNumber,
  &strConfigDescr,