2020-12-26 14:12:05 -08:00
|
|
|
// Copyright (c) FIRST and other WPILib contributors.
|
|
|
|
|
// Open Source Software; you can modify and/or share it under the terms of
|
|
|
|
|
// the WPILib BSD license file in the root directory of this project.
|
2016-12-21 00:14:55 -08:00
|
|
|
|
2017-08-25 17:48:06 -07:00
|
|
|
#ifndef CSCORE_USBUTIL_H_
|
|
|
|
|
#define CSCORE_USBUTIL_H_
|
2016-12-21 00:14:55 -08:00
|
|
|
|
2021-06-06 16:13:58 -07:00
|
|
|
#include <string>
|
2016-12-21 00:14:55 -08:00
|
|
|
|
|
|
|
|
namespace cs {
|
|
|
|
|
|
2021-06-06 16:13:58 -07:00
|
|
|
std::string GetUsbNameFromId(int vendor, int product);
|
2016-12-21 00:14:55 -08:00
|
|
|
|
2017-08-25 17:48:06 -07:00
|
|
|
int CheckedIoctl(int fd, unsigned long req, void* data, // NOLINT(runtime/int)
|
|
|
|
|
const char* name, const char* file, int line, bool quiet);
|
2016-12-22 22:08:08 -08:00
|
|
|
|
|
|
|
|
#define DoIoctl(fd, req, data) \
|
|
|
|
|
CheckedIoctl(fd, req, data, #req, __FILE__, __LINE__, false)
|
|
|
|
|
#define TryIoctl(fd, req, data) \
|
|
|
|
|
CheckedIoctl(fd, req, data, #req, __FILE__, __LINE__, true)
|
|
|
|
|
|
2016-12-21 00:14:55 -08:00
|
|
|
} // namespace cs
|
|
|
|
|
|
2017-08-25 17:48:06 -07:00
|
|
|
#endif // CSCORE_USBUTIL_H_
|