From 854f2430801958cdbd14c86715814a9d9a097ac4 Mon Sep 17 00:00:00 2001 From: rodri Date: Wed, 4 Aug 2021 19:23:46 +0000 Subject: implemented keyboard key send/recv procedures. --- pack.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'pack.c') diff --git a/pack.c b/pack.c index 50d72f1..be9b170 100644 --- a/pack.c +++ b/pack.c @@ -21,6 +21,7 @@ static int vpack(uchar *p, int n, char *fmt, va_list a) { uchar *p0 = p, *e = p+n; + ulong k; FPdbleword d; Point2 P; @@ -45,6 +46,16 @@ vpack(uchar *p, int n, char *fmt, va_list a) goto err; pack(p, n, "ddd", P.x, P.y, P.w), p += 3*8; + + break; + case 'k': + k = va_arg(a, ulong); + + if(p+4 > e) + goto err; + + put4(p, k), p += 4; + break; } } @@ -56,6 +67,7 @@ static int vunpack(uchar *p, int n, char *fmt, va_list a) { uchar *p0 = p, *e = p+n; + ulong k; FPdbleword d; Point2 P; @@ -78,6 +90,16 @@ vunpack(uchar *p, int n, char *fmt, va_list a) unpack(p, n, "ddd", &P.x, &P.y, &P.w), p += 3*8; *va_arg(a, Point2*) = P; + + break; + case 'k': + if(p+4 > e) + goto err; + + k = get4(p), p += 4; + *va_arg(a, ulong*) = k; + + break; } } err: -- cgit v1.2.3