72 val =
line +
sizeof(
"SVendor:");
77 val =
line +
sizeof(
"SDevice:");
112 char *lspci_command[5] = {
"lspci",
"-m",
"-n",
"-v",
NULL };
123 error(
"lspci protocol error: Invalid line '%s'\n",
line);
134 static char *rest =
NULL;
137 pkglen =
s->end -
s->p;
173 hexdump(
s->channel_hdr + 8,
s->end -
s->channel_hdr - 8);
VCHANNEL * channel_register(char *name, uint32 flags, void(*callback)(STREAM))
STREAM channel_init(VCHANNEL *channel, uint32 length)
void channel_send(STREAM s, VCHANNEL *channel)
#define CHANNEL_OPTION_ENCRYPT_RDP
#define CHANNEL_OPTION_INITIALIZED
#define out_uint8p(s, v, n)
RD_BOOL str_startswith(const char *s, const char *prefix)
RD_BOOL str_handle_lines(const char *input, char **rest, str_handle_lines_t linehandler, void *data)
void hexdump(unsigned char *p, unsigned int len)
RD_BOOL subprocess(char *const argv[], str_handle_lines_t linehandler, void *data)
#define STRNCPY(dst, src, n)
_ACRTIMP __msvcrt_long __cdecl strtol(const char *, char **, int)
_ACRTIMP char *__cdecl strchr(const char *, int)
_ACRTIMP size_t __cdecl strlen(const char *)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
_ACRTIMP size_t __cdecl strspn(const char *, const char *)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLuint GLenum GLsizei const GLchar * buf
struct _pci_device pci_device
static void lspci_process(RDPCLIENT *This, STREAM s)
static VCHANNEL * lspci_channel
static BOOL handle_child_line(RDPCLIENT *This, const char *line, void *data)
static void lspci_send(RDPCLIENT *This, const char *output)
static pci_device current_device
static BOOL lspci_process_line(RDPCLIENT *This, const char *line, void *data)