/* $Source: runtime/gasnet/smp-conduit/gasnet_core_internal.h $ * $Date: Tue, 22 Mar 2005 10:06:06 -0800 $ * $Revision: 1.5.1.3 $ * Description: GASNet smp conduit header for internal definitions in Core API * Copyright 2002, Dan Bonachea * Terms of use are as specified in license.txt */ #ifndef _GASNET_CORE_INTERNAL_H #define _GASNET_CORE_INTERNAL_H #include #if GASNET_DEBUG typedef struct { int8_t isReq; int8_t handlerRunning; int8_t replyIssued; } gasnetc_bufdesc_t; #endif typedef struct { uint8_t requestBuf[GASNETC_MAX_MEDIUM]; uint8_t replyBuf[GASNETC_MAX_MEDIUM]; } gasnetc_threadinfo_t; /* whether or not to use spin-locking for HSL's */ #define GASNETC_HSL_SPINLOCK 1 /* ------------------------------------------------------------------------------------ */ #define GASNETC_HANDLER_BASE 1 /* reserve 1-63 for the core API */ #define _hidx_gasnetc_auxseg_reqh (GASNETC_HANDLER_BASE+0) /* add new core API handlers here and to the bottom of gasnet_core.c */ typedef enum { gasnetc_Short=0, gasnetc_Medium=1, gasnetc_Long=2, gasnetc_System=3 } gasnetc_category_t; #if GASNETI_CLIENT_THREADS #define gasnetc_mythread() ((void**)(gasnete_mythread())) #else extern void *_gasnetc_mythread; #define gasnetc_mythread() &_gasnetc_mythread #endif #endif