library/src/internal.cpp

48 lines
817 B
C++

#include "internal.h"
#include <sys/shm.h>
#include <csignal>
#include "SharedMemoryAccess.h"
Impl impl;
void sendSignal(pid_t pid, int signalNumber) {
kill(pid, signalNumber);
}
void onSignal(int signalNumber, void(*callback)(int)) {
signal(signalNumber, callback);
}
InterruptEntry *getInterrupTable(){
return (InterruptEntry*)((char*)getSharedMemory() + sizeof(Registers) + 1024/*reserved*/);
}
bool callEvent(EventType type) {
auto ivt = getInterrupTable();
if(ivt[type].pid != 0){
sendSignal(ivt[type].pid, ivt[type].signum);
}
return true;
}
void setLayoutVersion(LayoutVersion newValue) {
}
void setCharactersPerLine(int newValue) {
}
void setCharactersPerRow(int newValue) {
}
void setMousePosition(int x, int y) {
}
void buttonPressed(KeyCode keyCode) {
}