libx52 0.3.3
Saitek X52/X52Pro drivers for Linux/Unix
Loading...
Searching...
No Matches
x52dcomm.h
Go to the documentation of this file.
1/*
2 * Saitek X52 Pro MFD & LED driver
3 *
4 * Copyright (C) 2021 Nirenjan Krishnan (nirenjan@nirenjan.org)
5 *
6 * SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0
7 */
8
20#ifndef X52DCOMM_H
21#define X52DCOMM_H
22
23#include <stddef.h>
24
25#ifndef X52DCOMM_API
26# if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
27# define X52DCOMM_API __attribute__((visibility("default")))
28# elif defined(_WIN32)
29# define X52DCOMM_API __declspec(dllexport)
30# else
31# define X52DCOMM_API
32# endif
33#endif
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
65X52DCOMM_API int x52d_dial_command(const char *sock_path);
66
86X52DCOMM_API int x52d_dial_notify(const char *sock_path);
87
105X52DCOMM_API int x52d_format_command(int argc, const char **argv, char *buffer, size_t buflen);
106
134X52DCOMM_API int x52d_send_command(int sock_fd, char *buffer, size_t bufin, size_t bufout);
135
139typedef int (* x52d_notify_callback_fn)(int argc, char **argv);
140
160X52DCOMM_API int x52d_recv_notification(int sock_fd, x52d_notify_callback_fn callback);
161
163#ifdef __cplusplus
164}
165#endif
166#endif // !defined X52DCOMM_H
167
168
X52DCOMM_API int x52d_recv_notification(int sock_fd, x52d_notify_callback_fn callback)
Receive a notification from the daemon.
X52DCOMM_API int x52d_send_command(int sock_fd, char *buffer, size_t bufin, size_t bufout)
Send a command to the daemon and retrieve the response.
X52DCOMM_API int x52d_format_command(int argc, const char **argv, char *buffer, size_t buflen)
Format a series of command strings into a buffer.
X52DCOMM_API int x52d_dial_notify(const char *sock_path)
Open a connection to the daemon notify socket.
X52DCOMM_API int x52d_dial_command(const char *sock_path)
Open a connection to the daemon command socket.
int(* x52d_notify_callback_fn)(int argc, char **argv)
Notification callback function type.
Definition x52dcomm.h:139