Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
The file containing the new implementation of the switch context mechanism.
[simgrid.git] / src / java / jxbt_context.h
1 /*
2  * $Id$
3  *
4  * Copyright 2006,2007 Arnaud Legrand, Martin Quinson, Malek Cherier         
5  * All right reserved. 
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the license (GNU LGPL) which comes with this package. 
9  */
10
11 #ifndef XBT_JCONTEXT_H
12 #define XBT_JCONTEXT_H
13
14
15 #include "xbt/sysdep.h"
16 #include "xbt/swag.h"
17 #include "xbt/dynar.h" /* void_f_pvoid_t */
18 #include "portable.h"  /* loads context system definitions */
19 #include "xbt/context.h"
20 #include "xbt/ex.h"
21 #include "xbt/xbt_os_thread.h"
22 #include <jni.h>
23
24 SG_BEGIN_DECL()
25
26 /* pointers to schedule and unschedule functions */
27 typedef void (*pfn_schedule_t)(xbt_context_t);
28 typedef pfn_schedule_t pfn_unschedule_t;
29
30 /*
31  * This function is called by the simulator to terminate a java process instance.
32  *
33  * @param context       The context of the java process to terminate.
34  * @param value         not used.
35  */
36 void __context_exit(xbt_context_t context ,int value);
37
38 /*
39  * This function is called by the java process to indicate it's done
40  * 
41  * @param context       The context of the process concerning by the ending.
42  * @parma value         not used.
43  * @param env           The jni interface pointer of the process.
44  */
45 void jcontext_exit(xbt_context_t context ,int value,JNIEnv* env);
46
47 SG_END_DECL()
48
49 #endif  /* !_XBT_CONTEXT_PRIVATE_H */