aboutsummaryrefslogtreecommitdiff
path: root/risu.c
diff options
context:
space:
mode:
Diffstat (limited to 'risu.c')
-rw-r--r--risu.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/risu.c b/risu.c
index a10422a..88e586c 100644
--- a/risu.c
+++ b/risu.c
@@ -37,9 +37,28 @@ sigjmp_buf jmpbuf;
/* Should we test for FP exception status bits? */
int test_fp_exc;
+/* Master functions */
+
+int read_sock(void *ptr, size_t bytes)
+{
+ return recv_data_pkt(master_socket, ptr, bytes);
+}
+
+void respond_sock(int r)
+{
+ send_response_byte(master_socket, r);
+}
+
+/* Apprentice function */
+
+int write_sock(void *ptr, size_t bytes)
+{
+ return send_data_pkt(apprentice_socket, ptr, bytes);
+}
+
void master_sigill(int sig, siginfo_t *si, void *uc)
{
- switch (recv_and_compare_register_info(master_socket, uc)) {
+ switch (recv_and_compare_register_info(read_sock, respond_sock, uc)) {
case 0:
/* match OK */
advance_pc(uc);
@@ -52,7 +71,7 @@ void master_sigill(int sig, siginfo_t *si, void *uc)
void apprentice_sigill(int sig, siginfo_t *si, void *uc)
{
- switch (send_register_info(apprentice_socket, uc)) {
+ switch (send_register_info(write_sock, uc)) {
case 0:
/* match OK */
advance_pc(uc);