1 /*******************************************************************************
2 * Copyright (c) 2000, 2011 IBM Corporation and others.
4 * This program and the accompanying materials
5 * are made available under the terms of the Eclipse Public License 2.0
6 * which accompanies this distribution, and is available at
7 * https://www.eclipse.org/legal/epl-2.0/
9 * SPDX-License-Identifier: EPL-2.0
12 * IBM Corporation - initial API and implementation
13 *******************************************************************************/
16 * Callback implementation.
18 #ifndef INC_callback_H
19 #define INC_callback_H
23 #if defined (_WIN32) || defined (_WIN32_WCE)
25 #define RETURN_TYPE LRESULT CALLBACK
26 #define RETURN_CAST (LRESULT)
30 #import <Foundation/Foundation.h>
34 #define RETURN_TYPE jintLong
42 * Note that only x86 assembler is supported
44 #if !(defined(__i386__) || defined(_M_IX86) || defined(_X86_))
48 #ifdef REDUCED_CALLBACKS
49 #define MAX_CALLBACKS 16
51 #if (defined(USE_ASSEMBLER) || defined(GTK))
52 #define MAX_CALLBACKS 256
54 #define MAX_CALLBACKS 128
56 #endif /* REDUCED_CALLBACKS */
60 typedef struct CALLBACK_DATA {
65 jboolean isArrayBased;
70 #endif /* ifndef INC_callback_H */