From ad1ec29070e1ffba7461687cd268e64be06aa78b Mon Sep 17 00:00:00 2001 From: Alexis211 Date: Tue, 30 Mar 2010 19:22:23 +0200 Subject: More work on IPC and userland tools. --- src/include/gm/method.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/include/gm/method.h (limited to 'src/include/gm') diff --git a/src/include/gm/method.h b/src/include/gm/method.h new file mode 100644 index 0000000..ac6ab0e --- /dev/null +++ b/src/include/gm/method.h @@ -0,0 +1,22 @@ +#ifndef DEF_METHOD_H +#define DEF_METHOD_H + +#define MP(r, a, b, c) (((r << 6) | (a << 4) | (b << 2) | c) << 24) + +/* ****** FORMAT FOR #define NAMES : ****** + * M__ + * where ret, param1, param2 and param3 are one of the following : + * - V (0) : nothing (void) + * - O (1) : object descriptor + * - I (2) : int + * - B (2) : int used as a boolean (0 = no, 1 = yes) + * - M (3) : shared memory, only for parameters + * - L (3) : int64 (long long), only for return values + */ + +#define M_HANDLECHECK_BIVV (1 | MP(2, 2, 0, 0)) +#define M_HANDLECHECK_BMIV (1 | MP(2, 3, 2, 0)) +/* Checks if object handles that method. In case BIVV, only one method is checked for. + * In case BMIV, the [b] methods in shared memory [a] are checked, first one not found returns false. */ + +#endif -- cgit v1.2.3