1 /********************************************************************
2 * High Level Communications Header (HLC.h) *
4 * Contains the high-level definitions (i.e. communication *
5 * subsystem independent) used by GUM *
6 * Phil Trinder, Glasgow University, 12 December 1994 *
7 *********************************************************************/
15 #define NEW_FISH_AGE 0
16 #define NEW_FISH_HISTORY 0
17 #define NEW_FISH_HUNGER 0
18 #define FISH_LIFE_EXPECTANCY 10
20 void sendFetch PROTO((globalAddr *ga, globalAddr *bqga, int load));
21 void sendResume PROTO((globalAddr *bqga, int nelem, P_ data));
22 void sendAck PROTO((GLOBAL_TASK_ID task, int ngas, globalAddr *gagamap));
23 void sendFish PROTO((GLOBAL_TASK_ID destPE, GLOBAL_TASK_ID origPE, int age, int history, int hunger));
24 void sendFree PROTO((GLOBAL_TASK_ID destPE, int nelem, P_ data));
25 void sendSchedule PROTO((GLOBAL_TASK_ID origPE, int nelem, P_ data));
26 void processMessages(STG_NO_ARGS);
27 void processFetches(STG_NO_ARGS);
29 void prepareFreeMsgBuffers(STG_NO_ARGS);
30 void freeRemoteGA PROTO((int pe, globalAddr *ga));
31 void sendFreeMessages(STG_NO_ARGS);
33 void Comms_Harness_Exception PROTO((PACKET packet));
34 void STG_Exception PROTO((PACKET));
36 GLOBAL_TASK_ID choosePE(STG_NO_ARGS);
38 void WaitForTermination(STG_NO_ARGS);
40 void DebugPrintGAGAMap PROTO((globalAddr *gagamap, int nGAs));
42 void CommonUp PROTO((P_, P_));