usb_dev_handle* pcsensor_open(){ usb_dev_handle *lvr_winusb = NULL; char buf[256]; int i, ret; if (!(lvr_winusb = setup_libusb_access())) { return NULL; } switch(device_type(lvr_winusb)){ case 0: control_transfer(lvr_winusb, uCmd1 ); control_transfer(lvr_winusb, uCmd3 ); control_transfer(lvr_winusb, uCmd2 ); ret = get_data(lvr_winusb, buf, 256); if(debug){ printf("Other Stuff (%d bytes):\n", ret); for(i = 0; i < ret; i++) { printf(" %02x", buf[i] & 0xFF); if(i % 16 == 15) { printf("\n"); } } printf("\n"); } break; case 1: if (ini_control_transfer(lvr_winusb) < 0) { fprintf(stderr, "Failed to ini_control_transfer (device_type 1)"); return NULL; } control_transfer(lvr_winusb, uTemperatura ); interrupt_read(lvr_winusb); control_transfer(lvr_winusb, uIni1 ); interrupt_read(lvr_winusb); control_transfer(lvr_winusb, uIni2 ); interrupt_read(lvr_winusb); interrupt_read(lvr_winusb); break; } if(debug){ printf("device_type=%d\n", device_type(lvr_winusb)); } return lvr_winusb; }
static void ipv6_header_init(struct proto_hdr *hdr) { struct dev_io *dev = proto_dev_get(); /* In case of tun interface we do not need to create Ethernet header */ if (dev_io_is_netdev(dev) && device_type(dev_io_name_get(dev)) != ARPHRD_NONE) proto_lower_default_add(hdr, PROTO_ETH); proto_header_fields_add(hdr, ipv6_fields, array_size(ipv6_fields)); proto_hdr_field_set_default_be32(hdr, IP6_VER, 6); proto_hdr_field_set_default_dev_ipv6(hdr, IP6_SADDR); }
static float pcsensor_get_temperature(usb_dev_handle* lvr_winusb, float *tempc) { int ret; switch (device_type(lvr_winusb)) { case 0: ret = get_temperature(lvr_winusb, tempc); break; case 1: control_transfer(lvr_winusb, uTemperatura); ret = interrupt_read_temperatura(lvr_winusb, tempc); break; } if (ret < 0) { return ret; } return 0; }
float pcsensor_get_temperature(usb_dev_handle* lvr_winusb){ float tempc; int ret; switch(device_type(lvr_winusb)){ case 0: ret = get_temperature(lvr_winusb, &tempc); break; case 1: control_transfer(lvr_winusb, uTemperatura ); ret = interrupt_read_temperatura(lvr_winusb, &tempc); break; } if(ret < 0){ return FLT_MIN; } return tempc; }
static void dump_geom(int dev, bool bios) { device_geometry geom; if (ioctl(dev, bios?B_GET_BIOS_GEOMETRY:B_GET_GEOMETRY, &geom, sizeof(geom)) < 0) { perror(bios ? "ioctl(B_GET_BIOS_GEOMETRY)" : "ioctl(B_GET_GEOMETRY)"); return; } printf("%sgeometry:\n", bios?"bios ":""); printf("bytes_per_sector:\t%ld\n", geom.bytes_per_sector); printf("sectors_per_track:\t%ld\n", geom.sectors_per_track); printf("cylinder_count:\t%ld\n", geom.cylinder_count); printf("head_count:\t%ld\n", geom.head_count); printf("device_type:\t%d, %s\n", geom.device_type, device_type(geom.device_type)); printf("%sremovable.\n", geom.removable?"":"not "); printf("%sread_only.\n", geom.read_only?"":"not "); printf("%swrite_once.\n", geom.write_once?"":"not "); }
int32 K3LAPI::get_dsp(int32 dev, K3LAPI::DspType type) { switch (device_type(dev)) { case kdtFXO: case kdtFXOVoIP: #if K3L_AT_LEAST(1,6,0) case kdtGSM: case kdtGSMSpx: #endif #if K3L_AT_LEAST(2,1,0) case kdtGSMUSB: case kdtGSMUSBSpx: #endif return 0; default: return (type == DSP_AUDIO ? 1 : 0); } }
static cups_device_t * /* O - Device */ get_device(cups_array_t *devices, /* I - Device array */ const char *serviceName, /* I - Name of service/device */ const char *regtype, /* I - Type of service */ const char *replyDomain) /* I - Service domain */ { cups_device_t key, /* Search key */ *device; /* Device */ char fullName[kDNSServiceMaxDomainName]; /* Full name for query */ /* * See if this is a new device... */ key.name = (char *)serviceName; key.type = device_type(regtype); for (device = cupsArrayFind(devices, &key); device; device = cupsArrayNext(devices)) if (_cups_strcasecmp(device->name, key.name)) break; else if (device->type == key.type) { if (!_cups_strcasecmp(device->domain, "local.") && _cups_strcasecmp(device->domain, replyDomain)) { /* * Update the .local listing to use the "global" domain name instead. * The backend will try local lookups first, then the global domain name. */ free(device->domain); device->domain = strdup(replyDomain); #ifdef HAVE_DNSSD DNSServiceConstructFullName(fullName, device->name, regtype, replyDomain); #else /* HAVE_AVAHI */ avahi_service_name_join(fullName, kDNSServiceMaxDomainName, serviceName, regtype, replyDomain); #endif /* HAVE_DNSSD */ free(device->fullName); device->fullName = strdup(fullName); } return (device); } /* * Yes, add the device... */ device = calloc(sizeof(cups_device_t), 1); device->name = strdup(serviceName); device->domain = strdup(replyDomain); device->type = key.type; device->priority = 50; cupsArrayAdd(devices, device); /* * Set the "full name" of this service, which is used for queries... */ #ifdef HAVE_DNSSD DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain); #else /* HAVE_AVAHI */ avahi_service_name_join(fullName, kDNSServiceMaxDomainName, serviceName, regtype, replyDomain); #endif /* HAVE_DNSSD */ device->fullName = strdup(fullName); return (device); }
explicit Type(const std::string t) : type(device_type(t)) {}