feature: Adds basic implementation.
This commit is contained in:
parent
9af34e4ad4
commit
6610b7aef0
16 changed files with 2878 additions and 11 deletions
63
libevdi/go_ffi.c
Normal file
63
libevdi/go_ffi.c
Normal file
|
@ -0,0 +1,63 @@
|
|||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "evdi_lib.h"
|
||||
|
||||
// Events
|
||||
|
||||
extern void goDPMSHandler(int, void*);
|
||||
extern void goModeChangedHandler(struct evdi_mode, void*);
|
||||
extern void goUpdateReadyHandler(int, void*);
|
||||
extern void goCRTCStateHandler(int, void*);
|
||||
extern void goCursorSetHandler(struct evdi_cursor_set, void*);
|
||||
extern void goCursorMoveHandler(struct evdi_cursor_move, void*);
|
||||
extern void goDDCCIDataHandler(struct evdi_ddcci_data, void*);
|
||||
|
||||
void dpmsHandler(int dpms_mode, void *user_data) {
|
||||
goDPMSHandler(dpms_mode, user_data);
|
||||
}
|
||||
|
||||
void* modeChangedHandler(struct evdi_mode mode, void *user_data) {
|
||||
goModeChangedHandler(mode, user_data);
|
||||
}
|
||||
|
||||
void* updateReadyHandler(int crtc_id, void *user_data) {
|
||||
goUpdateReadyHandler(crtc_id, user_data);
|
||||
}
|
||||
|
||||
void* crtcStateHandler(int crtc_state, void *user_data) {
|
||||
goCRTCStateHandler(crtc_state, user_data);
|
||||
}
|
||||
|
||||
void* cursorSetHandler(struct evdi_cursor_set cursor_set, void *user_data) {
|
||||
goCursorSetHandler(cursor_set, user_data);
|
||||
}
|
||||
|
||||
void* cursorMoveHandler(struct evdi_cursor_move cursor_move, void *user_data) {
|
||||
goCursorMoveHandler(cursor_move, user_data);
|
||||
}
|
||||
|
||||
void* ddcciDataHandler(struct evdi_ddcci_data ddcci_data, void *user_data) {
|
||||
goDDCCIDataHandler(ddcci_data, user_data);
|
||||
}
|
||||
|
||||
// Logging
|
||||
|
||||
extern void goLoggerHandler(char*);
|
||||
|
||||
void loggerHandler(void* user_data, const char *fmt, ...) {
|
||||
char* dynBuf;
|
||||
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vasprintf(&dynBuf, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
goLoggerHandler(dynBuf);
|
||||
}
|
||||
|
||||
void loggerInit() {
|
||||
struct evdi_logging evdiLogger = { loggerHandler };
|
||||
|
||||
evdi_set_logging(evdiLogger);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue