00001
00009
00010
00011
00012
00013 #ifndef __JTOP_SERVER_INCLUDE_SUBWINDOW_H_
00014 #define __JTOP_SERVER_INCLUDE_SUBWINDOW_H_
00015
00016 #include <l4/dope/dopelib.h>
00017 #include "threadinfo.h"
00018 #include "os.h"
00019
00020 typedef union{
00021 struct {
00022 int win:16;
00023 int idx:16;
00024 } v;
00025 void*p;
00026 } jtop_callback_t;
00027
00028 extern os_mutex disp_list_lock;
00029 extern load_display_t main_disp;
00030
00031 extern load_display_t* disp_by_nr(int id);
00032
00033 extern int subwindow_create(int id_parent);
00034 extern void subwindow_name_callback(dope_event*ev, void*arg);
00035 extern void subwindow_thread_callback(dope_event*ev, void*arg);
00036
00037 extern inline void list_lock(void);
00038 extern inline void list_unlock(void);
00039 extern inline void disp_lock(load_display_t*);
00040 extern inline void disp_unlock(load_display_t*);
00041
00042 extern inline void list_lock(void){
00043 os_mutex_lock(&disp_list_lock);
00044 }
00045 extern inline void list_unlock(void){
00046 os_mutex_unlock(&disp_list_lock);
00047 }
00048 extern inline void disp_lock(load_display_t*disp){
00049 os_mutex_lock(&disp->lock);
00050 }
00051 extern inline void disp_unlock(load_display_t*disp){
00052 os_mutex_unlock(&disp->lock);
00053 }
00054 #endif