build: add the SIBO SDK
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
/* Release 3.10 */
|
||||
/*-------------------------------------------------------------------------*
|
||||
* *
|
||||
* GENERIC.HPP - header file for creating generic classes. *
|
||||
* *
|
||||
* COPYRIGHT (C) 1990..1992 Clarion Software Corporation *
|
||||
* All Rights Reserved *
|
||||
* *
|
||||
*--------------------------------------------------------------------------*/
|
||||
#include <stdepoc.h>
|
||||
|
||||
#ifndef _GENERIC_INC_
|
||||
#define _GENERIC_INC_
|
||||
|
||||
#define _PASTE2(x, y) _PASTE2_x(x, y)
|
||||
#define _PASTE2_x(x, y) x##y
|
||||
#define _PASTE3(x, y, z) _PASTE3_x(x, y, z)
|
||||
#define _PASTE3_x(x, y, z) x##y##z
|
||||
#define _PASTE4(w, x, y, z) _PASTE4_x(w, x, y, z)
|
||||
#define _PASTE4_x(w, x, y, z) w##x##y##z
|
||||
|
||||
#define _ALT_PASTE2(x, y) _ALT_PASTE2_x(x, y)
|
||||
#define _ALT_PASTE2_x(x, y) x##y
|
||||
#define _ALT_PASTE3(x, y, z) _ALT_PASTE3_x(x, y, z)
|
||||
#define _ALT_PASTE3_x(x, y, z) x##y##z
|
||||
#define _ALT_PASTE4(w, x, y, z) _ALT_PASTE4_x(w, x, y, z)
|
||||
#define _ALT_PASTE4_x(w, x, y, z) w##x##y##z
|
||||
|
||||
// macros for the declaration and implementation of classes
|
||||
#define declare(x, y) _PASTE2(x, declare)(y)
|
||||
#define implement(x, y) _PASTE2(x, implement)(y)
|
||||
#define declare2(x, y, z) _PASTE2(x, declare2)(y, z)
|
||||
#define implement2(x, y, z) _PASTE2(x, implement2)(y, z)
|
||||
|
||||
// macros for the declaration of error-handling functions
|
||||
|
||||
extern genericerror(int, char*);
|
||||
typedef int (*GPT)(int, char*);
|
||||
#define set_handler(generic, type, x) _PASTE4(set_, type, generic, _handler)(x)
|
||||
#define errorhandler(generic, type) _PASTE3(type, generic, handler)
|
||||
#define callerror(generic, type, x, y) (*errorhandler(generic, type))(x, y)
|
||||
|
||||
#define name2(x, y) _ALT_PASTE2_x(x, y)
|
||||
#define name3(x, y, z) _ALT_PASTE3_x(x, y, z)
|
||||
#define name4(w, x, y, z) _ALT_PASTE4_x(w, x, y, z)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user