您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ usb_get_string_simple函数代码示例

51自学网 2021-06-03 09:20:10
  C++
这篇教程C++ usb_get_string_simple函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中usb_get_string_simple函数的典型用法代码示例。如果您正苦于以下问题:C++ usb_get_string_simple函数的具体用法?C++ usb_get_string_simple怎么用?C++ usb_get_string_simple使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了usb_get_string_simple函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: get_device_string

static t_int get_device_string(HIDInterface *hidif, char *device_string){	int length;	t_int ret = 0;	char buffer[STRING_BUFFER_LENGTH] = "";	char return_buffer[STRING_BUFFER_LENGTH] = "";	if ( !hid_is_opened(hidif) ) 		return(0);	if (hidif->device->descriptor.iManufacturer) {		length = usb_get_string_simple(hidif->dev_handle,									   hidif->device->descriptor.iManufacturer, 									   buffer, 									   STRING_BUFFER_LENGTH);		if (length > 0)		{			strncat(return_buffer, buffer, STRING_BUFFER_LENGTH - strlen(device_string));			strncat(return_buffer, " ",1);			ret = 1;		}		else		{			post("(unable to fetch manufacturer string)");		}	}		if (hidif->device->descriptor.iProduct) {		length = usb_get_string_simple(hidif->dev_handle,									   hidif->device->descriptor.iProduct, 									   buffer, 									   STRING_BUFFER_LENGTH);		if (length > 0)		{			strncat(return_buffer, buffer, STRING_BUFFER_LENGTH - strlen(device_string));			strncat(return_buffer, " ",1);			ret = 1;		}		else		{			post("(unable to fetch product string)");		}	}	if (hidif->device->descriptor.iSerialNumber) {		length = usb_get_string_simple(hidif->dev_handle,									   hidif->device->descriptor.iSerialNumber, 									   buffer, 									   STRING_BUFFER_LENGTH);		if (length > 0)			strncat(return_buffer, buffer, STRING_BUFFER_LENGTH - strlen(device_string));		else			post("(unable to fetch product string)");	}	if (return_buffer)		strncpy(device_string, return_buffer, STRING_BUFFER_LENGTH);	return ret;}
开发者ID:Angeldude,项目名称:pd,代码行数:60,


示例2: retrieve

  /**   * Retrieve descriptions of scanned devices. Retrived desctiptions are stored internally.   * @return positive number of retrieved devices.<br>-1 on failure   * @sa get_serial_id(unsigned int, std::string&), get_serial_id(std::string&)   * , get_manufacturer(unsigned int, std::string&), get_manufacturer(std::string&)   * , get_product(unsigned int, std::string&), get_product(std::string&)   **/  int retrieve()  {    if( !scanned ) if ( scan() < 0 ) return -1;    if( devices.empty() ) return -1;    char buff[128];    descriptions.clear();    for (unsigned int i=0; i<devices.size(); i++) {      struct usb_device *dev = devices[i];      usb_dev_handle *h = usb_open(dev);      if ( h < 0 ) continue;      std::map<std::string, std::string> M_desc;      if ( usb_get_string_simple(h, dev->descriptor.iSerialNumber, buff, 128) < 0 ) continue;      M_desc["serial_number"] = std::string(buff);      if ( usb_get_string_simple(h, dev->descriptor.iManufacturer, buff, 128) < 0 ) continue;      M_desc["manufacturer"] = std::string(buff);      if ( usb_get_string_simple(h, dev->descriptor.iProduct, buff, 128) < 0 ) continue;      M_desc["product"] = std::string(buff);      descriptions.push_back(M_desc);    }    retrieved = true;    return descriptions.size();  }
开发者ID:fqez,项目名称:kobuki_test,代码行数:35,


示例3: acr122_usb_get_usb_device_name

static boolacr122_usb_get_usb_device_name(struct usb_device *dev, usb_dev_handle *udev, char *buffer, size_t len){  *buffer = '/0';  if (dev->descriptor.iManufacturer || dev->descriptor.iProduct) {    if (udev) {      usb_get_string_simple(udev, dev->descriptor.iManufacturer, buffer, len);      if (strlen(buffer) > 0)        strcpy(buffer + strlen(buffer), " / ");      usb_get_string_simple(udev, dev->descriptor.iProduct, buffer + strlen(buffer), len - strlen(buffer));    }  }  if (!*buffer) {    for (size_t n = 0; n < sizeof(acr122_usb_supported_devices) / sizeof(struct acr122_usb_supported_device); n++) {      if ((acr122_usb_supported_devices[n].vendor_id == dev->descriptor.idVendor) &&          (acr122_usb_supported_devices[n].product_id == dev->descriptor.idProduct)) {        strncpy(buffer, acr122_usb_supported_devices[n].name, len);        buffer[len - 1] = '/0';        return true;      }    }  }  return false;}
开发者ID:h4ck3rm1k3,项目名称:php5-nfc,代码行数:27,


示例4: hid_write_identification

hid_return hid_write_identification(FILE* const out,    HIDInterface const* const hidif){  if (!hid_is_opened(hidif)) {    ERROR("cannot write identification of unopened HIDinterface.");    return HID_RET_DEVICE_NOT_OPENED;  }  if (!out) {    ERROR("cannot write HIDinterface identification of USB device %s "        "to NULL output stream.", hidif->id);    return HID_RET_INVALID_PARAMETER;  }    int len;  unsigned short const BUFLEN = 256;  char buffer[BUFLEN];    fprintf(out, "device identification of HIDInterface %s:/n", hidif->id);  fprintf(out, "  dev_handle:    0x%08lx/n", (unsigned long)hidif->dev_handle);  fprintf(out, "  device:        0x%08lx/n", (unsigned long)hidif->device);  fprintf(out, "  location:      %s/%s/n",      hidif->device->bus->dirname, hidif->device->filename);  if (hidif->device->descriptor.iManufacturer) {    len = usb_get_string_simple(hidif->dev_handle,        hidif->device->descriptor.iManufacturer, buffer, BUFLEN);    if (len > 0)      fprintf(out, "  manufacturer:  %s/n", buffer);    else      fprintf(out, "(unable to fetch manufacturer string)/n");  }    if (hidif->device->descriptor.iProduct) {    len = usb_get_string_simple(hidif->dev_handle,        hidif->device->descriptor.iProduct, buffer, BUFLEN);    if (len > 0)      fprintf(out, "  product:       %s/n", buffer);    else      fprintf(out, "(unable to fetch product string)/n");  }    if (hidif->device->descriptor.iSerialNumber) {    len = usb_get_string_simple(hidif->dev_handle,        hidif->device->descriptor.iSerialNumber, buffer, BUFLEN);    if (len > 0)      fprintf(out, "  serial number: %s/n", buffer);    else      fprintf(out, "(unable to fetch product string)/n");  }    return HID_RET_SUCCESS;}
开发者ID:JanaMa,项目名称:psychophysics,代码行数:56,


示例5: QLOG_ERROR

bool M64BirDevice::connectDevice(){    int err;    char str[100];    // At this point device should point to a valid usb_device if a M64Bir was attached    if( mDevice == NULL )    {        QLOG_ERROR() << "No M64BIR device defined: " << usb_strerror();        return false;    }    // Open the USB device    usb_dev_handle *handle = usb_open( mDevice );    err = usb_set_configuration( handle, 1 );    if( err < 0 )    {        QLOG_ERROR() << "usb_set_configuration() returned " << usb_strerror();        usb_close( handle );        return false;    }    err = usb_claim_interface( handle, 0 );    if( err < 0 )    {        QLOG_ERROR() << "usb_claim_interface() returned " << usb_strerror();        usb_close( handle );        return false;    }    mDeviceHandle = handle;    // Print device information    if( mDevice->descriptor.iManufacturer )    {        err = usb_get_string_simple( mDeviceHandle, mDevice->descriptor.iManufacturer, str, sizeof(str) );        if( err > 0 )        {            mDeviceManufacturer = str;            QLOG_INFO() << "Manufacturer is " << mDeviceManufacturer;        }    }    if( mDevice->descriptor.iProduct )    {        err = usb_get_string_simple( mDeviceHandle, mDevice->descriptor.iProduct, str, sizeof(str) );        if( err > 0 )        {            mDeviceProductName = str;            QLOG_INFO() << "Product is " << mDeviceProductName;        }    }    return true;}
开发者ID:isorg,项目名称:MagicPad,代码行数:55,


示例6: usbfunk_init

// ***** Initialize libusb and find matching device *****// Parameters: none// Return val: false if failed, true if foundint usbfunk_init( void ) {   int len;   struct usb_bus *bus;   struct usb_device *dev;   const unsigned char rawVid[2] = {USB_CFG_VENDOR_ID}, rawPid[2] = {USB_CFG_DEVICE_ID};   int vid = rawVid[1] * 256 + rawVid[0];   int pid = rawPid[1] * 256 + rawPid[0];   char vendor[] = {USB_CFG_VENDOR_NAME, '/0'}, product[] = {USB_CFG_DEVICE_NAME, '/0'};   char usb_vendor[256], usb_product[256];   // Init libusb   usb_init();   usb_find_busses();   usb_find_devices();   // Loop through all busses and devices   for (bus = usb_get_busses(); bus; bus = bus->next)    {     for(dev = bus->devices; dev; dev = dev->next)      {       // Check vendor and product id       if(dev->descriptor.idVendor == vid && dev->descriptor.idProduct == pid)        {         // Open device and check strings         handle = usb_open(dev);         if(!handle) continue;         // Check vendor         if(dev->descriptor.iManufacturer > 0)          {           len = usb_get_string_simple(handle, dev->descriptor.iManufacturer, usb_vendor, sizeof(usb_vendor));           if(len < 0) continue;           if(strcmp(vendor, usb_vendor)!=0)            {             usb_close(handle);             continue;            }          }         // Check product         if(dev->descriptor.iProduct > 0)          {           len = usb_get_string_simple(handle, dev->descriptor.iProduct, usb_product, sizeof(usb_product));           if(len < 0) continue;           if(strcmp(product, usb_product)!=0)            {             usb_close(handle);             continue;            }          }         // Device found         return USBFUNK_SUCCESS;        }      }    }  return USBFUNK_DEV_ERROR; }
开发者ID:fschaefer,项目名称:usbfunkd,代码行数:57,


示例7: main

int main(int argc, char** argv){  std::vector<struct usb_device *> devices;  devices = find_devices(0x0403,0x6001);  if (devices.empty()) {    std::cout << "not found!!!" << std::endl;    return -1;  }  std::cout << devices.size() << " device(s) found." << std::endl;  int ret_val=0;  for( unsigned int i=0; i<devices.size(); i++ )   {    std::cout << std::endl;    std::cout << "Device #" << i  << std::endl;    struct usb_device *dev = devices[i];    usb_dev_handle *h = usb_open(dev);    if( h < 0 ) {      std::cerr << "failed to open usb device." << std::endl;      std::cerr << "do with sudo." << std::endl;    }      char buff[128];    int n;    n = usb_get_string_simple(h, dev->descriptor.iManufacturer, buff, 128);    if (n < 0) {      std::cerr << "something is going wrong. do it again with sudo." << std::endl;      ret_val = -1;      continue;    }    std::cout << "  Manufacturer : " << std::string(buff) << std::endl;      n = usb_get_string_simple(h, dev->descriptor.iProduct, buff, 128);    if (n < 0) {      std::cerr << "something is going wrong. do it again with sudo." << std::endl;      ret_val = -1;      continue;    }    std::cout << "  Product      : " << std::string(buff) << std::endl;    n = usb_get_string_simple(h, dev->descriptor.iSerialNumber, buff, 128);    if (n < 0) {       std::cerr << "something is going wrong. do it again with sudo." << std::endl;      ret_val = -1;      continue;    }    std::cout << "  Serial Number: " << std::string(buff) << std::endl;  }   return ret_val;}  
开发者ID:zklapow,项目名称:kobuki,代码行数:52,


示例8: Q_ASSERT

void UDMXDevice::extractName(){    bool needToClose = false;    char name[256];    int len;    Q_ASSERT(m_device != NULL);    if (m_handle == NULL)    {        needToClose = true;        open();    }    /* Check, whether open() was successful */    if (m_handle == NULL)        return;    /* Extract the name */    len = usb_get_string_simple(m_handle, m_device->descriptor.iProduct,                                name, sizeof(name));    if (len > 0)        m_name = QString(name);    else        m_name = tr("Unknown");    /* Close the device if it was opened for this function only. */    if (needToClose == true)        close();}
开发者ID:leonerd,项目名称:qlcplus,代码行数:30,


示例9: cy3240_util_match_serial_number

//-----------------------------------------------------------------------------boolcy3240_util_match_serial_number(        struct usb_dev_handle* usbdev,        void* custom,        unsigned int len        ){    bool ret;    // Allocate a buffer to read the current usb device's serial number    char* buffer = (char*)malloc (len);    // Get the serial number of the specfied device    usb_get_string_simple(            usbdev,            usb_device(usbdev)->descriptor.iSerialNumber,            buffer,            len);    // Compare the current serial number with the one we are looking for    ret = strncmp(buffer, (char*)custom, len) == 0;    // Free the temporary buffer    free(buffer);    // Return the result of the compare    return ret;}
开发者ID:kevinkirkup,项目名称:cy3240-i2c-bridge,代码行数:29,


示例10: alt_by_name

static int alt_by_name( struct dfu_if *dfu_if, void *v ){  struct usb_device *dev = dfu_if->dev;  int if_name_str_idx;  char name[MAX_STR_LEN + 1] = "UNDEFINED";  if_name_str_idx =    dev->config[dfu_if->configuration].interface[dfu_if->interface].    altsetting[dfu_if->altsetting].iInterface;  if( !if_name_str_idx )    return 0;  if( !dfu_if->dev_handle )    dfu_if->dev_handle = usb_open( dfu_if->dev );  if( !dfu_if->dev_handle )    return 0;  if( usb_get_string_simple      ( dfu_if->dev_handle, if_name_str_idx, name, MAX_STR_LEN ) < 0 )    return 0;                   /* should we return an error here ? */  if( strcmp( name, v ) )    return 0;  /*   * Return altsetting+1 so that we can use return value 0 to indicate   * "not found".   */  return dfu_if->altsetting + 1;}
开发者ID:yapavelkurochkin,项目名称:steamer,代码行数:26,


示例11: get_usb_string

char * get_usb_string(usb_dev_handle * dev_handle, int index) {  char buffer[256];  char * str;  int result;  if (index == 0)    return NULL;  result = usb_get_string_simple(dev_handle, index, buffer, sizeof(buffer)-1);  if (result < 0) {    avrdude_message(MSG_INFO, "%s: Warning: Failed to read USB device string %d: %s/n",      progname, index, usb_strerror());    return NULL;  }  str = malloc(result+1);  if (str == NULL) {    avrdude_message(MSG_INFO, "%s: Out of memory allocating a string/n", progname);    return 0;  }  memcpy(str, buffer, result);  str[result] = '/0';  return str;}
开发者ID:ShinjiLE,项目名称:usbprog5,代码行数:27,


示例12: main

int main(void){      struct usb_bus *busses;      usb_init();      usb_find_busses();      usb_find_devices();      busses = usb_get_busses();      struct usb_bus *bus;      int c, i, a;      /* ... */      for (bus = busses; bus; bus = bus->next) {        struct usb_device *dev;        int val;        usb_dev_handle *junk;        for (dev = bus->devices; dev; dev = dev->next) {          char buf[1024];          junk = usb_open ( dev );          usb_get_string_simple(junk,2,buf,1023); 	  if(strncmp(buf,"FT232R",6)==0){//             printf( "reset %p %d (%s)/n", dev, val, buf	 );          if ( junk == NULL ){            printf("Can't open %p (%s)/n", dev, buf );          } else {            val = usb_reset(junk);            printf( "reset %p %d (%s)/n", dev, val, buf	 );          }	  }          usb_close(junk);        }      }}
开发者ID:Limpinho0,项目名称:bilibot-ros-pkg,代码行数:31,


示例13: replay

int replay() {  int res = -1;  char buf[256];  usb_dev_handle *udev;  struct usb_device *dev = NULL;  int numeps = 0;  dev = find_first_pvr();  if (dev == NULL) {        fprintf(stderr, "Since no Samsung device in Mass Storage mode found, not going to do anything/n");	return 0;  }  udev = usb_open(dev);  setuid(getuid());  strcpy(buf, "** no string **");  res = usb_get_string_simple(udev, dev->descriptor.iManufacturer, buf, sizeof(buf));  fprintf(stderr, "usb_get_string_simple => %d, %s/n", res, buf);  char blah[254];  memset(blah,0,254);  res = usb_control_msg(udev, USB_TYPE_STANDARD | USB_ENDPOINT_IN, USB_REQ_GET_DESCRIPTOR, 0xfe, 0xfe, blah, 0xfe, 1000);  printf("usb_control_msg() = %d/n",res);  fprintf(stderr, "Just switched to 0x2028 now 2034! Custom Product mode/n");  return 0;}
开发者ID:ullix,项目名称:photoframe,代码行数:29,


示例14: usbGetStringAscii

int usbGetStringAscii(usb_dev_handle *dev, int index, char *buf, int buflen){char    buffer[256];int     rval, i;    if((rval = usb_get_string_simple(dev, index, buf, buflen)) >= 0) /* use libusb version if it works */        return rval;    if((rval = usb_control_msg(dev, USB_ENDPOINT_IN, USB_REQ_GET_DESCRIPTOR, (USB_DT_STRING << 8) + index, 0x0409, buffer, sizeof(buffer), 5000)) < 0)        return rval;    if(buffer[1] != USB_DT_STRING){        *buf = 0;        return 0;    }    if((unsigned char)buffer[0] < rval)        rval = (unsigned char)buffer[0];    rval /= 2;    /* lossy conversion to ISO Latin1: */    for(i=1;i<rval;i++){        if(i > buflen)              /* destination buffer overflow */            break;        buf[i-1] = buffer[2 * i];        if(buffer[2 * i + 1] != 0)  /* outside of ISO Latin1 range */            buf[i-1] = '?';    }    buf[i-1] = 0;    return i-1;}
开发者ID:bstrysko,项目名称:The-Cogito-Project,代码行数:27,


示例15: string_descriptor_equal

/* Returns true if the string descriptor indexed by str_index in device matches string */static bool string_descriptor_equal(usb_dev_handle *device, uint8_t str_index,									const char *string){	int retval;	bool matched;	char desc_string[256+1]; /* Max size of string descriptor */	if (str_index == 0)		return false;	retval = usb_get_string_simple(device, str_index,			desc_string, sizeof(desc_string)-1);	if (retval < 0) {		LOG_ERROR("usb_get_string_simple() failed with %d", retval);		return false;	}	/* Null terminate descriptor string in case it needs to be logged. */	desc_string[sizeof(desc_string)-1] = '/0';	matched = strncmp(string, desc_string, sizeof(desc_string)) == 0;	if (!matched)		LOG_DEBUG("Device serial number '%s' doesn't match requested serial '%s'",			desc_string, string);	return matched;}
开发者ID:kedar2017,项目名称:OpenOCD,代码行数:27,


示例16: usbGetStringAscii

int usbGetStringAscii(usb_dev_handle *dev, int index, char *buf, int buflen){char    buffer[256];int     rval, i;    if((rval = usb_get_string_simple(dev, index, buf, buflen)) >= 0) /* если это работает, используйте версию libusb */        return rval;    if((rval = usb_control_msg(dev, USB_ENDPOINT_IN, USB_REQ_GET_DESCRIPTOR, (USB_DT_STRING << 8) + index, 0x0409, buffer, sizeof(buffer), 5000)) < 0)        return rval;    if(buffer[1] != USB_DT_STRING){        *buf = 0;        return 0;    }    if((unsigned char)buffer[0] < rval)        rval = (unsigned char)buffer[0];    rval /= 2;    /* преобразование с потерями в ISO Latin1: */    for(i=1;i<rval;i++){        if(i > buflen)              /* переполнение буфера назначения */            break;        buf[i-1] = buffer[2 * i];        if(buffer[2 * i + 1] != 0)  /* выход за пределы ISO Latin1 */            buf[i-1] = '?';    }    buf[i-1] = 0;    return i-1;}
开发者ID:aBaTaPbl4,项目名称:BuildOrb2,代码行数:27,


示例17: print_dfu_if

static int print_dfu_if( struct dfu_if *dfu_if, void *v ){  struct usb_device *dev = dfu_if->dev;  int if_name_str_idx;  char name[MAX_STR_LEN + 1] = "UNDEFINED";  if_name_str_idx = dev->config[dfu_if->configuration]    .interface[dfu_if->interface]    .altsetting[dfu_if->altsetting].iInterface;  if( if_name_str_idx ) {    if( !dfu_if->dev_handle )      dfu_if->dev_handle = usb_open( dfu_if->dev );    if( dfu_if->dev_handle )      usb_get_string_simple( dfu_if->dev_handle,                             if_name_str_idx, name, MAX_STR_LEN );  }  printf( "Found %s: [0x%04x:0x%04x] devnum=%u, cfg=%u, intf=%u, "          "alt=%u, name=/"%s/"/n",          dfu_if->flags & DFU_IFF_DFU ? "DFU" : "Runtime",          dev->descriptor.idVendor, dev->descriptor.idProduct,          dev->devnum, dfu_if->configuration, dfu_if->interface,          dfu_if->altsetting, name );  return 0;}
开发者ID:yapavelkurochkin,项目名称:steamer,代码行数:26,


示例18: probe_device_descriptor

static int probe_device_descriptor(struct usb_device *dev, FILE *dumpfile){  usb_dev_handle *devh;  unsigned char buf[1024];  int i;  int ret;  if (!(dev->descriptor.bDeviceClass == USB_CLASS_PER_INTERFACE ||	    dev->descriptor.bDeviceClass == USB_CLASS_PTP ||	    dev->descriptor.bDeviceClass == USB_CLASS_VENDOR_SPEC) ||            dev->descriptor.idVendor == APPLE_VID) {    return 0;  }    devh = usb_open(dev);  if (devh == NULL) {        return 0;  }  if (dev->config) {    for (i = 0; i < dev->descriptor.bNumConfigurations; i++) {      uint8_t j;      for (j = 0; j < dev->config[i].bNumInterfaces; j++) {        int k;        for (k = 0; k < dev->config[i].interface[j].num_altsetting; k++) {	  	  struct usb_interface_descriptor *intf =	    &dev->config[i].interface[j].altsetting[k];          buf[0] = '/0';          ret = usb_get_string_simple(devh,				      dev->config[i].interface[j].altsetting[k].iInterface,				      (char *) buf,				      1024);	  if (ret < 3)	    continue;          if (strcmp((char *) buf, "MTP") == 0) {	    if (dumpfile != NULL) {              fprintf(dumpfile, "Configuration %d, interface %d, altsetting %d:/n", i, j, k);	      fprintf(dumpfile, "   Interface description contains the string /"MTP/"/n");	      fprintf(dumpfile, "   Device recognized as MTP, no further probing./n");	    }            usb_close(devh);            return 1;          }       }      }    }  }  usb_close(devh);  return 0;}
开发者ID:qtekfun,项目名称:htcDesire820Kernel,代码行数:59,


示例19: match_serial_number

bool match_serial_number(struct usb_dev_handle* usbdev, void* custom, unsigned int len){	bool ret;	char* buffer = (char*)malloc(len);	usb_get_string_simple(usbdev, usb_device(usbdev)->descriptor.iSerialNumber,buffer, len);	ret = strncmp(buffer, (char*)custom, len) == 0;	free(buffer);	return ret;}
开发者ID:sbg2133,项目名称:BLAST_TNG_devel,代码行数:9,


示例20: get_device_name

int get_device_name(struct usb_device *dev, int level, char *rbuf){  usb_dev_handle *udev;  char description[256];  char string[256];  int ret,i;  udev = usb_open(dev);  if (udev) {    if (dev->descriptor.iManufacturer) {      ret = usb_get_string_simple(udev, dev->descriptor.iManufacturer, string, sizeof(string));      if (ret > 0)        snprintf(description, sizeof(description), "%s - ", string);      else        snprintf(description, sizeof(description), "%04X - ",                 dev->descriptor.idVendor);    } else      snprintf(description, sizeof(description), "%04X - ",               dev->descriptor.idVendor);    if (dev->descriptor.iProduct) {      ret = usb_get_string_simple(udev, dev->descriptor.iProduct, string, sizeof(string));      if (ret > 0)        snprintf(description + strlen(description), sizeof(description) -                 strlen(description), "%s", string);      else        snprintf(description + strlen(description), sizeof(description) -                 strlen(description), "%04X", dev->descriptor.idProduct);    } else      snprintf(description + strlen(description), sizeof(description) -               strlen(description), "%04X", dev->descriptor.idProduct);  } else    snprintf(description, sizeof(description), "%04X - %04X",             dev->descriptor.idVendor, dev->descriptor.idProduct);  sprintf(rbuf, "%.*sDev #%d: %s", level * 2, "                    ", dev->devnum,         description);  if (udev)    usb_close(udev);	return 1;}
开发者ID:FabianKnapp,项目名称:android-wmon,代码行数:44,


示例21: find_dev

struct usb_device * find_dev(void){	struct usb_bus *bus;	struct usb_device *dev;	struct usb_dev_handle *handle;	char man[40];	char prod[40];	usb_find_busses();	usb_find_devices();	for(bus = usb_get_busses(); bus; bus = bus->next) {		for(dev = bus->devices; dev; dev = dev->next) {			/* Check for ST Microelectronics vendor ID */			if ((dev->descriptor.idVendor != 0x483) &&			    (dev->descriptor.idVendor != 0x1d50))				continue;			handle = usb_open(dev);			usb_get_string_simple(handle, dev->descriptor.iManufacturer, man,						sizeof(man));			usb_get_string_simple(handle, dev->descriptor.iProduct, prod,						sizeof(prod));#if 0			printf("%s:%s [%04X:%04X] %s : %s/n", bus->dirname, dev->filename,				dev->descriptor.idVendor, dev->descriptor.idProduct, man, prod);#endif			usb_close(handle);			if (((dev->descriptor.idProduct == 0x5740) ||			     (dev->descriptor.idProduct == 0x6018)) &&			   !strcmp(man, "Black Sphere Technologies") &&			   !strcmp(prod, "Black Magic Firmware Upgrade"))				return dev;			if (((dev->descriptor.idProduct == 0xDF11) ||			     (dev->descriptor.idProduct == 0x6017)) &&			   !strcmp(man, "Black Sphere Technologies") &&			   !strcmp(prod, "Black Magic Probe (Upgrade)"))				return dev;		}	}	return NULL;}
开发者ID:32bitmicro,项目名称:blackmagic,代码行数:44,


示例22: get_intf_string

/* * Helper function to usbobex_find_interfaces */static int get_intf_string(struct usb_dev_handle *usb_handle, char **string, int id){	if (id) {		if ((*string = malloc(USB_MAX_STRING_SIZE)) == NULL)			return -ENOMEM;		*string[0] = '/0';		return usb_get_string_simple(usb_handle, id, *string, USB_MAX_STRING_SIZE);	}	return 0;}
开发者ID:Camelek,项目名称:qtmoko,代码行数:13,


示例23: clearLibusbJavaError

/* * Class:     ch_ntb_usb_LibusbJava * Method:    usb_get_string_simple * Signature: (JI)Ljava/lang/String; */JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava_usb_1get_1string_1simple  (JNIEnv *env, jclass obj, jlong dev_handle, jint index)  {  	clearLibusbJavaError();	char string[256]; 	int retVal = usb_get_string_simple((usb_dev_handle *) dev_handle, index, string, 256); 	if (retVal > 0) 		return (*env)->NewStringUTF(env, string); 	return 0;  }
开发者ID:vpereira,项目名称:golden_unicorn,代码行数:15,


示例24: netmd_get_devname

int netmd_get_devname(usb_dev_handle* dh, unsigned char* buf, int buffsize){	if (usb_get_string_simple(dh, 2, buf, buffsize) < 0) {		fprintf(stderr, "usb_get_string_simple failed, %s (%d)/n", strerror(errno), errno);		buf[0] = 0;		return 0;	}		return strlen(buf);}
开发者ID:bobo1on1,项目名称:netmd,代码行数:10,


示例25: libusb_get_string

static int libusb_get_string(usb_dev_handle *udev, int StringIdx, char *buf, size_t buflen){	int ret;	if (!udev) {		return -1;	}	ret = usb_get_string_simple(udev, StringIdx, buf, buflen);	return libusb_strerror(ret, __func__);}
开发者ID:alfh,项目名称:nut,代码行数:12,


示例26: get_usb_string

int get_usb_string(char *buf, unsigned int len, uint16_t item, usb_dev_handle *handle){	char	tmp[BUFSIZ];	int	ret;	if (!item)		return 0;	ret = usb_get_string_simple(handle, item, tmp, BUFSIZ);	if (ret <= 0)		return ret;	return snprintf(buf, len, "%s", tmp);}
开发者ID:commshare,项目名称:squeezeterisk,代码行数:12,


示例27: get_string_index

VALUE get_string_index(VALUE dev, int index){  char string[100];  if(index == 0) return rb_str_new2("");  ENSURE_OPEN_BEGIN(dev);  int result = usb_get_string_simple(handle, index, string, 100);  ENSURE_OPEN_END;  if(result < 0) {    raise_usb_error();  }  return rb_str_new2(string);}
开发者ID:joshuasiler,项目名称:ambient_msp430,代码行数:12,


示例28: get_usb_string

static int get_usb_string(struct xusb *xusb, uint8_t item, char *buf, unsigned int len){	char	tmp[BUFSIZ];	int	ret;	assert(xusb->handle);	if (!item)		return 0;	ret = usb_get_string_simple(xusb->handle, item, tmp, BUFSIZ);	if (ret <= 0)		return ret;	return snprintf(buf, len, "%s", tmp);}
开发者ID:YongHoJang,项目名称:dahdi-tools,代码行数:13,


示例29: netmd_get_devname

netmd_error netmd_get_devname(netmd_dev_handle* devh, char* buf, size_t buffsize){    int result;    result = usb_get_string_simple((usb_dev_handle *)devh, 2, buf, buffsize);    if (result < 0) {        netmd_log(NETMD_LOG_ERROR, "usb_get_string_simple failed, %s (%d)/n", strerror(errno), errno);        buf[0] = 0;        return NETMD_USB_ERROR;    }    return NETMD_NO_ERROR;}
开发者ID:AlexanderS,项目名称:linux-minidisc,代码行数:13,


示例30: open_usb

uint8_t open_usb(usb_dev_handle **handle) {	uint16_t vid = USB_VID;	uint16_t pid = USB_PID;	char vendor[256];	char product[256];	struct usb_bus *bus;	struct usb_device *dev;	usb_dev_handle *target = NULL;	usb_init();	usb_find_busses();	usb_find_devices();	for (bus=usb_get_busses(); bus; bus=bus->next) {		for (dev=bus->devices; dev; dev=dev->next) {			if (dev->descriptor.idVendor == vid && dev->descriptor.idProduct == pid) {				target = usb_open(dev);				if (target) {					usb_get_string_simple(target, dev->descriptor.iManufacturer, vendor, sizeof(vendor));					usb_get_string_simple(target, dev->descriptor.iProduct, product, sizeof(product));					if (strcmp(vendor, V_NAME) == 0 && strcmp(product, P_NAME) == 0) {						/* we found our device */						break;					}				}				usb_close(target);				target = NULL;			}		}	}	if (target != NULL) {		usb_claim_interface(target, 0);		*handle = target;		return 1;	} else {		return 0;	}}
开发者ID:wertarbyte,项目名称:nixie-usb,代码行数:37,



注:本文中的usb_get_string_simple函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ usb_get_urb函数代码示例
C++ usb_get_serial_data函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。