forked from enlightenment/enlightenment
and stage 2 of removing ipc handlers.. actually remove them!
SVN revision: 43270
This commit is contained in:
parent
119b8d8b93
commit
bcd35dad89
|
@ -77,7 +77,6 @@ src/bin/e_pointer.c
|
|||
src/bin/e_popup.c
|
||||
src/bin/e_prefix.c
|
||||
src/bin/e_remember.c
|
||||
src/bin/e_remote_main.c
|
||||
src/bin/e_resist.c
|
||||
src/bin/e_screensaver.c
|
||||
src/bin/e_scrollframe.c
|
||||
|
|
|
@ -16,7 +16,6 @@ INCLUDES = -I$(top_srcdir) \
|
|||
|
||||
bin_PROGRAMS = \
|
||||
enlightenment \
|
||||
enlightenment_remote_old \
|
||||
enlightenment_imc \
|
||||
enlightenment_start \
|
||||
enlightenment_fm_open
|
||||
|
@ -33,8 +32,6 @@ ENLIGHTENMENTHEADERS = \
|
|||
e.h \
|
||||
e_includes.h \
|
||||
e_mmx.h \
|
||||
e_ipc_handlers.h \
|
||||
e_ipc_handlers_list.h \
|
||||
e_user.h \
|
||||
e_manager.h \
|
||||
e_path.h \
|
||||
|
@ -318,13 +315,6 @@ $(enlightenment_src)
|
|||
enlightenment_LDFLAGS = -export-dynamic
|
||||
enlightenment_LDADD = @e_libs@ @x_libs@ @dlopen_libs@ @cf_libs@ @VALGRIND_LIBS@
|
||||
|
||||
enlightenment_remote_old_SOURCES = \
|
||||
e.h \
|
||||
e_ipc_codec.c \
|
||||
e_remote_main.c
|
||||
|
||||
enlightenment_remote_old_LDADD = @E_REMOTE_LIBS@
|
||||
|
||||
enlightenment_imc_SOURCES = \
|
||||
e.h \
|
||||
e_intl_data.c \
|
||||
|
|
|
@ -71,7 +71,7 @@ e_ipc_init(void)
|
|||
ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_ADD, _e_ipc_cb_client_add, NULL);
|
||||
ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_DEL, _e_ipc_cb_client_del, NULL);
|
||||
ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_DATA, _e_ipc_cb_client_data, NULL);
|
||||
|
||||
|
||||
e_ipc_codec_init();
|
||||
#endif
|
||||
return 1;
|
||||
|
@ -131,14 +131,53 @@ _e_ipc_cb_client_data(void *data __UNUSED__, int type __UNUSED__, void *event)
|
|||
case E_IPC_DOMAIN_REQUEST:
|
||||
case E_IPC_DOMAIN_REPLY:
|
||||
case E_IPC_DOMAIN_EVENT:
|
||||
switch (e->minor)
|
||||
{
|
||||
#define TYPE E_WM_IN
|
||||
#include "e_ipc_handlers.h"
|
||||
#undef TYPE
|
||||
default:
|
||||
break;
|
||||
}
|
||||
switch (e->minor)
|
||||
{
|
||||
case E_IPC_OP_EXEC_ACTION:
|
||||
{
|
||||
E_Ipc_2Str *req = NULL;
|
||||
|
||||
if (e_ipc_codec_2str_dec(e->data, e->size, &req))
|
||||
{
|
||||
Eina_List *m = e_manager_list();
|
||||
int len, ok = 0;
|
||||
void *d;
|
||||
|
||||
if (m)
|
||||
{
|
||||
E_Manager *man = eina_list_data_get(m);
|
||||
|
||||
if (man)
|
||||
{
|
||||
E_Action *act = e_action_find(req->str1);
|
||||
|
||||
if (act && act->func.go)
|
||||
{
|
||||
act->func.go(E_OBJECT(man), req->str2);
|
||||
ok = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
d = e_ipc_codec_int_enc(ok, &len);
|
||||
if (d)
|
||||
{
|
||||
ecore_ipc_client_send(e->client,
|
||||
E_IPC_DOMAIN_REPLY,
|
||||
E_IPC_OP_EXEC_ACTION_REPLY,
|
||||
0, 0, 0, d, len);
|
||||
free(d);
|
||||
}
|
||||
|
||||
E_FREE(req->str1);
|
||||
E_FREE(req->str2);
|
||||
E_FREE(req);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case E_IPC_DOMAIN_THUMB:
|
||||
e_thumb_client_data(e);
|
||||
|
|
|
@ -4,8 +4,10 @@
|
|||
#ifdef E_TYPEDEFS
|
||||
|
||||
#ifdef USE_IPC
|
||||
#include "e_ipc_handlers_list.h"
|
||||
|
||||
#define E_IPC_OP_EXEC_ACTION 386
|
||||
#define E_IPC_OP_EXEC_ACTION_REPLY 387
|
||||
|
||||
typedef enum _E_Ipc_Domain
|
||||
{
|
||||
E_IPC_DOMAIN_NONE,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,424 +0,0 @@
|
|||
#define E_IPC_OP_MODULE_LOAD 1
|
||||
#define E_IPC_OP_MODULE_UNLOAD 2
|
||||
#define E_IPC_OP_MODULE_ENABLE 3
|
||||
#define E_IPC_OP_MODULE_DISABLE 4
|
||||
#define E_IPC_OP_MODULE_LIST 5
|
||||
#define E_IPC_OP_MODULE_LIST_REPLY 6
|
||||
#define E_IPC_OP_BG_SET 7
|
||||
#define E_IPC_OP_BG_GET 8
|
||||
#define E_IPC_OP_BG_GET_REPLY 9
|
||||
#define E_IPC_OP_FONT_AVAILABLE_LIST 10
|
||||
#define E_IPC_OP_FONT_AVAILABLE_LIST_REPLY 11
|
||||
#define E_IPC_OP_FONT_APPLY 12
|
||||
#define E_IPC_OP_FONT_FALLBACK_CLEAR 13
|
||||
#define E_IPC_OP_FONT_FALLBACK_APPEND 14
|
||||
#define E_IPC_OP_FONT_FALLBACK_PREPEND 15
|
||||
#define E_IPC_OP_FONT_FALLBACK_LIST 16
|
||||
#define E_IPC_OP_FONT_FALLBACK_LIST_REPLY 17
|
||||
#define E_IPC_OP_FONT_FALLBACK_REMOVE 18
|
||||
#define E_IPC_OP_FONT_DEFAULT_SET 19
|
||||
#define E_IPC_OP_FONT_DEFAULT_GET 20
|
||||
#define E_IPC_OP_FONT_DEFAULT_GET_REPLY 21
|
||||
#define E_IPC_OP_FONT_DEFAULT_REMOVE 22
|
||||
#define E_IPC_OP_FONT_DEFAULT_LIST 23
|
||||
#define E_IPC_OP_FONT_DEFAULT_LIST_REPLY 24
|
||||
#define E_IPC_OP_RESTART 25
|
||||
#define E_IPC_OP_SHUTDOWN 26
|
||||
#define E_IPC_OP_LANG_LIST 27
|
||||
#define E_IPC_OP_LANG_LIST_REPLY 28
|
||||
#define E_IPC_OP_LANG_SET 29
|
||||
#define E_IPC_OP_LANG_GET 30
|
||||
#define E_IPC_OP_LANG_GET_REPLY 31
|
||||
#define E_IPC_OP_BINDING_MOUSE_LIST 32
|
||||
#define E_IPC_OP_BINDING_MOUSE_LIST_REPLY 33
|
||||
#define E_IPC_OP_BINDING_MOUSE_ADD 34
|
||||
#define E_IPC_OP_BINDING_MOUSE_DEL 35
|
||||
#define E_IPC_OP_BINDING_KEY_LIST 36
|
||||
#define E_IPC_OP_BINDING_KEY_LIST_REPLY 37
|
||||
#define E_IPC_OP_BINDING_KEY_ADD 38
|
||||
#define E_IPC_OP_BINDING_KEY_DEL 39
|
||||
#define E_IPC_OP_MENUS_SCROLL_SPEED_SET 40
|
||||
#define E_IPC_OP_MENUS_SCROLL_SPEED_GET 41
|
||||
#define E_IPC_OP_MENUS_SCROLL_SPEED_GET_REPLY 42
|
||||
#define E_IPC_OP_MENUS_FAST_MOVE_THRESHOLD_SET 43
|
||||
#define E_IPC_OP_MENUS_FAST_MOVE_THRESHOLD_GET 44
|
||||
#define E_IPC_OP_MENUS_FAST_MOVE_THRESHOLD_GET_REPLY 45
|
||||
#define E_IPC_OP_MENUS_CLICK_DRAG_TIMEOUT_SET 46
|
||||
#define E_IPC_OP_MENUS_CLICK_DRAG_TIMEOUT_GET 47
|
||||
#define E_IPC_OP_MENUS_CLICK_DRAG_TIMEOUT_GET_REPLY 48
|
||||
#define E_IPC_OP_BORDER_SHADE_ANIMATE_SET 49
|
||||
#define E_IPC_OP_BORDER_SHADE_ANIMATE_GET 50
|
||||
#define E_IPC_OP_BORDER_SHADE_ANIMATE_GET_REPLY 51
|
||||
#define E_IPC_OP_BORDER_SHADE_TRANSITION_SET 52
|
||||
#define E_IPC_OP_BORDER_SHADE_TRANSITION_GET 53
|
||||
#define E_IPC_OP_BORDER_SHADE_TRANSITION_GET_REPLY 54
|
||||
#define E_IPC_OP_BORDER_SHADE_SPEED_SET 55
|
||||
#define E_IPC_OP_BORDER_SHADE_SPEED_GET 56
|
||||
#define E_IPC_OP_BORDER_SHADE_SPEED_GET_REPLY 57
|
||||
#define E_IPC_OP_FRAMERATE_SET 58
|
||||
#define E_IPC_OP_FRAMERATE_GET 59
|
||||
#define E_IPC_OP_FRAMERATE_GET_REPLY 60
|
||||
#define E_IPC_OP_IMAGE_CACHE_SET 61
|
||||
#define E_IPC_OP_IMAGE_CACHE_GET 62
|
||||
#define E_IPC_OP_IMAGE_CACHE_GET_REPLY 63
|
||||
#define E_IPC_OP_FONT_CACHE_SET 64
|
||||
#define E_IPC_OP_FONT_CACHE_GET 65
|
||||
#define E_IPC_OP_FONT_CACHE_GET_REPLY 66
|
||||
#define E_IPC_OP_EDGE_FLIP_MOVING_SET 67
|
||||
#define E_IPC_OP_EDGE_FLIP_MOVING_GET 68
|
||||
#define E_IPC_OP_EDGE_FLIP_MOVING_GET_REPLY 69
|
||||
#define E_IPC_OP_EDGE_FLIP_TIMEOUT_SET 70
|
||||
#define E_IPC_OP_EDGE_FLIP_TIMEOUT_GET 71
|
||||
#define E_IPC_OP_EDGE_FLIP_TIMEOUT_GET_REPLY 72
|
||||
#define E_IPC_OP_DIRS_LIST 73
|
||||
#define E_IPC_OP_DIRS_LIST_REPLY 74
|
||||
#define E_IPC_OP_DIRS_APPEND 75
|
||||
#define E_IPC_OP_DIRS_PREPEND 76
|
||||
#define E_IPC_OP_DIRS_REMOVE 77
|
||||
#define E_IPC_OP_DESKS_SET 78
|
||||
#define E_IPC_OP_DESKS_GET 79
|
||||
#define E_IPC_OP_DESKS_GET_REPLY 80
|
||||
#define E_IPC_OP_FOCUS_POLICY_SET 81
|
||||
#define E_IPC_OP_FOCUS_POLICY_GET 82
|
||||
#define E_IPC_OP_FOCUS_POLICY_GET_REPLY 83
|
||||
#define E_IPC_OP_MAXIMIZE_POLICY_SET 84
|
||||
#define E_IPC_OP_MAXIMIZE_POLICY_GET 85
|
||||
#define E_IPC_OP_MAXIMIZE_POLICY_GET_REPLY 86
|
||||
#define E_IPC_OP_ALWAYS_CLICK_TO_RAISE_SET 87
|
||||
#define E_IPC_OP_ALWAYS_CLICK_TO_RAISE_GET 88
|
||||
#define E_IPC_OP_ALWAYS_CLICK_TO_RAISE_GET_REPLY 89
|
||||
#define E_IPC_OP_USE_AUTO_RAISE_SET 90
|
||||
#define E_IPC_OP_USE_AUTO_RAISE_GET 91
|
||||
#define E_IPC_OP_USE_AUTO_RAISE_GET_REPLY 92
|
||||
#define E_IPC_OP_PASS_CLICK_ON_SET 93
|
||||
#define E_IPC_OP_PASS_CLICK_ON_GET 94
|
||||
#define E_IPC_OP_PASS_CLICK_ON_GET_REPLY 95
|
||||
#define E_IPC_OP_AUTO_RAISE_DELAY_SET 96
|
||||
#define E_IPC_OP_AUTO_RAISE_DELAY_GET 97
|
||||
#define E_IPC_OP_AUTO_RAISE_DELAY_GET_REPLY 98
|
||||
#define E_IPC_OP_USE_RESIST_SET 99
|
||||
#define E_IPC_OP_USE_RESIST_GET 100
|
||||
#define E_IPC_OP_USE_RESIST_GET_REPLY 101
|
||||
#define E_IPC_OP_DRAG_RESIST_SET 102
|
||||
#define E_IPC_OP_DRAG_RESIST_GET 103
|
||||
#define E_IPC_OP_DRAG_RESIST_GET_REPLY 104
|
||||
#define E_IPC_OP_DESK_RESIST_SET 105
|
||||
#define E_IPC_OP_DESK_RESIST_GET 106
|
||||
#define E_IPC_OP_DESK_RESIST_GET_REPLY 107
|
||||
#define E_IPC_OP_WINDOW_RESIST_SET 108
|
||||
#define E_IPC_OP_WINDOW_RESIST_GET 109
|
||||
#define E_IPC_OP_WINDOW_RESIST_GET_REPLY 110
|
||||
#define E_IPC_OP_GADGET_RESIST_SET 111
|
||||
#define E_IPC_OP_GADGET_RESIST_GET 112
|
||||
#define E_IPC_OP_GADGET_RESIST_GET_REPLY 113
|
||||
#define E_IPC_OP_DESKTOP_BG_ADD 114
|
||||
#define E_IPC_OP_DESKTOP_BG_DEL 115
|
||||
#define E_IPC_OP_DESKTOP_BG_LIST 116
|
||||
#define E_IPC_OP_DESKTOP_BG_LIST_REPLY 117
|
||||
#define E_IPC_OP_WINLIST_WARP_WHILE_SELECTING_SET 118
|
||||
#define E_IPC_OP_WINLIST_WARP_WHILE_SELECTING_GET 119
|
||||
#define E_IPC_OP_WINLIST_WARP_WHILE_SELECTING_GET_REPLY 120
|
||||
#define E_IPC_OP_WINLIST_WARP_AT_END_SET 121
|
||||
#define E_IPC_OP_WINLIST_WARP_AT_END_GET 122
|
||||
#define E_IPC_OP_WINLIST_WARP_AT_END_GET_REPLY 123
|
||||
#define E_IPC_OP_WINLIST_WARP_SPEED_SET 124
|
||||
#define E_IPC_OP_WINLIST_WARP_SPEED_GET 125
|
||||
#define E_IPC_OP_WINLIST_WARP_SPEED_GET_REPLY 126
|
||||
#define E_IPC_OP_WINLIST_SCROLL_ANIMATE_SET 127
|
||||
#define E_IPC_OP_WINLIST_SCROLL_ANIMATE_GET 128
|
||||
#define E_IPC_OP_WINLIST_SCROLL_ANIMATE_GET_REPLY 129
|
||||
#define E_IPC_OP_WINLIST_SCROLL_SPEED_SET 130
|
||||
#define E_IPC_OP_WINLIST_SCROLL_SPEED_GET 131
|
||||
#define E_IPC_OP_WINLIST_SCROLL_SPEED_GET_REPLY 132
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_ICONIFIED_SET 133
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_ICONIFIED_GET 134
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_ICONIFIED_GET_REPLY 135
|
||||
/*
|
||||
* WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED and WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED
|
||||
* can be found below, starting at 366.
|
||||
*/
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_WINDOWS_SET 136
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_WINDOWS_GET 137
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_WINDOWS_GET_REPLY 138
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_WINDOWS_SET 139
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_WINDOWS_GET 140
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_WINDOWS_GET_REPLY 141
|
||||
#define E_IPC_OP_WINLIST_LIST_UNCOVER_WHILE_SELECTING_SET 142
|
||||
#define E_IPC_OP_WINLIST_LIST_UNCOVER_WHILE_SELECTING_GET 143
|
||||
#define E_IPC_OP_WINLIST_LIST_UNCOVER_WHILE_SELECTING_GET_REPLY 144
|
||||
#define E_IPC_OP_WINLIST_LIST_JUMP_DESK_WHILE_SELECTING_SET 145
|
||||
#define E_IPC_OP_WINLIST_LIST_JUMP_DESK_WHILE_SELECTING_GET 146
|
||||
#define E_IPC_OP_WINLIST_LIST_JUMP_DESK_WHILE_SELECTING_GET_REPLY 147
|
||||
#define E_IPC_OP_WINLIST_POS_ALIGN_X_SET 148
|
||||
#define E_IPC_OP_WINLIST_POS_ALIGN_X_GET 149
|
||||
#define E_IPC_OP_WINLIST_POS_ALIGN_X_GET_REPLY 150
|
||||
#define E_IPC_OP_WINLIST_POS_ALIGN_Y_SET 151
|
||||
#define E_IPC_OP_WINLIST_POS_ALIGN_Y_GET 152
|
||||
#define E_IPC_OP_WINLIST_POS_ALIGN_Y_GET_REPLY 153
|
||||
#define E_IPC_OP_WINLIST_POS_SIZE_W_SET 154
|
||||
#define E_IPC_OP_WINLIST_POS_SIZE_W_GET 155
|
||||
#define E_IPC_OP_WINLIST_POS_SIZE_W_GET_REPLY 156
|
||||
#define E_IPC_OP_WINLIST_POS_SIZE_H_SET 157
|
||||
#define E_IPC_OP_WINLIST_POS_SIZE_H_GET 158
|
||||
#define E_IPC_OP_WINLIST_POS_SIZE_H_GET_REPLY 159
|
||||
#define E_IPC_OP_WINLIST_POS_MIN_W_SET 160
|
||||
#define E_IPC_OP_WINLIST_POS_MIN_W_GET 161
|
||||
#define E_IPC_OP_WINLIST_POS_MIN_W_GET_REPLY 162
|
||||
#define E_IPC_OP_WINLIST_POS_MIN_H_SET 163
|
||||
#define E_IPC_OP_WINLIST_POS_MIN_H_GET 164
|
||||
#define E_IPC_OP_WINLIST_POS_MIN_H_GET_REPLY 165
|
||||
#define E_IPC_OP_WINLIST_POS_MAX_W_SET 166
|
||||
#define E_IPC_OP_WINLIST_POS_MAX_W_GET 167
|
||||
#define E_IPC_OP_WINLIST_POS_MAX_W_GET_REPLY 168
|
||||
#define E_IPC_OP_WINLIST_POS_MAX_H_SET 169
|
||||
#define E_IPC_OP_WINLIST_POS_MAX_H_GET 170
|
||||
#define E_IPC_OP_WINLIST_POS_MAX_H_GET_REPLY 171
|
||||
#define E_IPC_OP_KILL_IF_CLOSE_NOT_POSSIBLE_SET 172
|
||||
#define E_IPC_OP_KILL_IF_CLOSE_NOT_POSSIBLE_GET 173
|
||||
#define E_IPC_OP_KILL_IF_CLOSE_NOT_POSSIBLE_GET_REPLY 174
|
||||
#define E_IPC_OP_KILL_PROCESS_SET 175
|
||||
#define E_IPC_OP_KILL_PROCESS_GET 176
|
||||
#define E_IPC_OP_KILL_PROCESS_GET_REPLY 177
|
||||
#define E_IPC_OP_KILL_TIMER_WAIT_SET 178
|
||||
#define E_IPC_OP_KILL_TIMER_WAIT_GET 179
|
||||
#define E_IPC_OP_KILL_TIMER_WAIT_GET_REPLY 180
|
||||
#define E_IPC_OP_PING_CLIENTS_SET 181
|
||||
#define E_IPC_OP_PING_CLIENTS_GET 182
|
||||
#define E_IPC_OP_PING_CLIENTS_GET_REPLY 183
|
||||
#define E_IPC_OP_PING_CLIENTS_WAIT_SET 184
|
||||
#define E_IPC_OP_PING_CLIENTS_WAIT_GET 185
|
||||
#define E_IPC_OP_PING_CLIENTS_WAIT_GET_REPLY 186
|
||||
#define E_IPC_OP_TRANSITION_START_SET 187
|
||||
#define E_IPC_OP_TRANSITION_START_GET 188
|
||||
#define E_IPC_OP_TRANSITION_START_GET_REPLY 189
|
||||
#define E_IPC_OP_TRANSITION_DESK_SET 190
|
||||
#define E_IPC_OP_TRANSITION_DESK_GET 191
|
||||
#define E_IPC_OP_TRANSITION_DESK_GET_REPLY 192
|
||||
#define E_IPC_OP_TRANSITION_CHANGE_SET 193
|
||||
#define E_IPC_OP_TRANSITION_CHANGE_GET 194
|
||||
#define E_IPC_OP_TRANSITION_CHANGE_GET_REPLY 195
|
||||
#define E_IPC_OP_FOCUS_SETTING_SET 196
|
||||
#define E_IPC_OP_FOCUS_SETTING_GET 197
|
||||
#define E_IPC_OP_FOCUS_SETTING_GET_REPLY 198
|
||||
// 199 is vacant
|
||||
#define E_IPC_OP_THEME_LIST 200
|
||||
#define E_IPC_OP_THEME_LIST_REPLY 201
|
||||
#define E_IPC_OP_THEME_GET 202
|
||||
#define E_IPC_OP_THEME_GET_REPLY 203
|
||||
#define E_IPC_OP_THEME_REMOVE 204
|
||||
#define E_IPC_OP_THEME_SET 205
|
||||
#define E_IPC_OP_MOVE_INFO_FOLLOWS_SET 206
|
||||
#define E_IPC_OP_MOVE_INFO_FOLLOWS_GET 207
|
||||
#define E_IPC_OP_MOVE_INFO_FOLLOWS_GET_REPLY 208
|
||||
#define E_IPC_OP_RESIZE_INFO_FOLLOWS_SET 209
|
||||
#define E_IPC_OP_RESIZE_INFO_FOLLOWS_GET 210
|
||||
#define E_IPC_OP_RESIZE_INFO_FOLLOWS_GET_REPLY 211
|
||||
#define E_IPC_OP_FOCUS_LAST_FOCUSED_PER_DESKTOP_SET 212
|
||||
#define E_IPC_OP_FOCUS_LAST_FOCUSED_PER_DESKTOP_GET 213
|
||||
#define E_IPC_OP_FOCUS_LAST_FOCUSED_PER_DESKTOP_GET_REPLY 214
|
||||
#define E_IPC_OP_FOCUS_REVERT_ON_HIDE_OR_CLOSE_SET 215
|
||||
#define E_IPC_OP_FOCUS_REVERT_ON_HIDE_OR_CLOSE_GET 216
|
||||
#define E_IPC_OP_FOCUS_REVERT_ON_HIDE_OR_CLOSE_GET_REPLY 217
|
||||
#define E_IPC_OP_PROFILE_SET 218
|
||||
#define E_IPC_OP_PROFILE_GET 219
|
||||
#define E_IPC_OP_PROFILE_GET_REPLY 220
|
||||
#define E_IPC_OP_DESKTOP_NAME_ADD 221
|
||||
#define E_IPC_OP_DESKTOP_NAME_DEL 222
|
||||
#define E_IPC_OP_DESKTOP_NAME_LIST 223
|
||||
#define E_IPC_OP_DESKTOP_NAME_LIST_REPLY 224
|
||||
#define E_IPC_OP_CURSOR_SIZE_SET 225
|
||||
#define E_IPC_OP_CURSOR_SIZE_GET 226
|
||||
#define E_IPC_OP_CURSOR_SIZE_GET_REPLY 227
|
||||
#define E_IPC_OP_MENU_AUTOSCROLL_MARGIN_SET 228
|
||||
#define E_IPC_OP_MENU_AUTOSCROLL_MARGIN_GET 229
|
||||
#define E_IPC_OP_MENU_AUTOSCROLL_MARGIN_GET_REPLY 230
|
||||
#define E_IPC_OP_MENU_AUTOSCROLL_CURSOR_MARGIN_SET 231
|
||||
#define E_IPC_OP_MENU_AUTOSCROLL_CURSOR_MARGIN_GET 232
|
||||
#define E_IPC_OP_MENU_AUTOSCROLL_CURSOR_MARGIN_GET_REPLY 233
|
||||
|
||||
#define E_IPC_OP_TRANSIENT_MOVE_SET 234
|
||||
#define E_IPC_OP_TRANSIENT_MOVE_GET 235
|
||||
#define E_IPC_OP_TRANSIENT_MOVE_GET_REPLY 236
|
||||
#define E_IPC_OP_TRANSIENT_RESIZE_SET 237
|
||||
#define E_IPC_OP_TRANSIENT_RESIZE_GET 238
|
||||
#define E_IPC_OP_TRANSIENT_RESIZE_GET_REPLY 239
|
||||
#define E_IPC_OP_TRANSIENT_RAISE_SET 240
|
||||
#define E_IPC_OP_TRANSIENT_RAISE_GET 241
|
||||
#define E_IPC_OP_TRANSIENT_RAISE_GET_REPLY 242
|
||||
#define E_IPC_OP_TRANSIENT_LOWER_SET 243
|
||||
#define E_IPC_OP_TRANSIENT_LOWER_GET 244
|
||||
#define E_IPC_OP_TRANSIENT_LOWER_GET_REPLY 245
|
||||
#define E_IPC_OP_TRANSIENT_LAYER_SET 246
|
||||
#define E_IPC_OP_TRANSIENT_LAYER_GET 247
|
||||
#define E_IPC_OP_TRANSIENT_LAYER_GET_REPLY 248
|
||||
#define E_IPC_OP_TRANSIENT_DESKTOP_SET 249
|
||||
#define E_IPC_OP_TRANSIENT_DESKTOP_GET 250
|
||||
#define E_IPC_OP_TRANSIENT_DESKTOP_GET_REPLY 251
|
||||
#define E_IPC_OP_TRANSIENT_ICONIFY_SET 252
|
||||
#define E_IPC_OP_TRANSIENT_ICONIFY_GET 253
|
||||
#define E_IPC_OP_TRANSIENT_ICONIFY_GET_REPLY 254
|
||||
|
||||
#define E_IPC_OP_MODAL_WINDOWS_SET 255
|
||||
#define E_IPC_OP_MODAL_WINDOWS_GET 256
|
||||
#define E_IPC_OP_MODAL_WINDOWS_GET_REPLY 257
|
||||
|
||||
#define E_IPC_OP_WINDOW_PLACEMENT_POLICY_SET 258
|
||||
#define E_IPC_OP_WINDOW_PLACEMENT_POLICY_GET 259
|
||||
#define E_IPC_OP_WINDOW_PLACEMENT_POLICY_GET_REPLY 260
|
||||
|
||||
#define E_IPC_OP_CONFIG_PANEL_SHOW 261
|
||||
|
||||
#define E_IPC_OP_BINDING_SIGNAL_LIST 262
|
||||
#define E_IPC_OP_BINDING_SIGNAL_LIST_REPLY 263
|
||||
#define E_IPC_OP_BINDING_SIGNAL_ADD 264
|
||||
#define E_IPC_OP_BINDING_SIGNAL_DEL 265
|
||||
#define E_IPC_OP_BINDING_WHEEL_LIST 266
|
||||
#define E_IPC_OP_BINDING_WHEEL_LIST_REPLY 267
|
||||
#define E_IPC_OP_BINDING_WHEEL_ADD 268
|
||||
#define E_IPC_OP_BINDING_WHEEL_DEL 269
|
||||
|
||||
#define E_IPC_OP_USE_E_CURSOR_SET 270
|
||||
#define E_IPC_OP_USE_E_CURSOR_GET 271
|
||||
#define E_IPC_OP_USE_E_CURSOR_GET_REPLY 272
|
||||
|
||||
#define E_IPC_OP_MOVE_INFO_VISIBLE_SET 273
|
||||
#define E_IPC_OP_MOVE_INFO_VISIBLE_GET 274
|
||||
#define E_IPC_OP_MOVE_INFO_VISIBLE_GET_REPLY 275
|
||||
#define E_IPC_OP_RESIZE_INFO_VISIBLE_SET 276
|
||||
#define E_IPC_OP_RESIZE_INFO_VISIBLE_GET 277
|
||||
#define E_IPC_OP_RESIZE_INFO_VISIBLE_GET_REPLY 278
|
||||
|
||||
#define E_IPC_OP_ALWAYS_CLICK_TO_FOCUS_SET 279
|
||||
#define E_IPC_OP_ALWAYS_CLICK_TO_FOCUS_GET 280
|
||||
#define E_IPC_OP_ALWAYS_CLICK_TO_FOCUS_GET_REPLY 281
|
||||
|
||||
#define E_IPC_OP_PROFILE_LIST 282
|
||||
#define E_IPC_OP_PROFILE_LIST_REPLY 283
|
||||
|
||||
#define E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_SET 284
|
||||
#define E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_GET 285
|
||||
#define E_IPC_OP_WINLIST_LIST_FOCUS_WHILE_SELECTING_GET_REPLY 286
|
||||
#define E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_SET 287
|
||||
#define E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_GET 288
|
||||
#define E_IPC_OP_WINLIST_LIST_RAISE_WHILE_SELECTING_GET_REPLY 289
|
||||
|
||||
#define E_IPC_OP_THEME_CATEGORY_LIST 290
|
||||
#define E_IPC_OP_THEME_CATEGORY_LIST_REPLY 291
|
||||
|
||||
#define E_IPC_OP_TRANSITION_LIST 292
|
||||
#define E_IPC_OP_TRANSITION_LIST_REPLY 293
|
||||
|
||||
#define E_IPC_OP_ACTION_LIST 294
|
||||
#define E_IPC_OP_ACTION_LIST_REPLY 295
|
||||
|
||||
#define E_IPC_OP_PROFILE_ADD 296
|
||||
#define E_IPC_OP_PROFILE_DEL 297
|
||||
|
||||
#define E_IPC_OP_DEFAULT_ENGINE_SET 298
|
||||
#define E_IPC_OP_DEFAULT_ENGINE_GET 299
|
||||
#define E_IPC_OP_DEFAULT_ENGINE_GET_REPLY 300
|
||||
#define E_IPC_OP_ENGINE_LIST 301
|
||||
#define E_IPC_OP_ENGINE_LIST_REPLY 302
|
||||
#define E_IPC_OP_ENGINE_SET 303
|
||||
#define E_IPC_OP_ENGINE_GET 304
|
||||
#define E_IPC_OP_ENGINE_GET_REPLY 305
|
||||
|
||||
#define E_IPC_OP_MENU_EAP_NAME_SHOW_SET 306
|
||||
#define E_IPC_OP_MENU_EAP_NAME_SHOW_GET 307
|
||||
#define E_IPC_OP_MENU_EAP_NAME_SHOW_GET_REPLY 308
|
||||
#define E_IPC_OP_MENU_EAP_GENERIC_SHOW_SET 309
|
||||
#define E_IPC_OP_MENU_EAP_GENERIC_SHOW_GET 310
|
||||
#define E_IPC_OP_MENU_EAP_GENERIC_SHOW_GET_REPLY 311
|
||||
#define E_IPC_OP_MENU_EAP_COMMENT_SHOW_SET 312
|
||||
#define E_IPC_OP_MENU_EAP_COMMENT_SHOW_GET 313
|
||||
#define E_IPC_OP_MENU_EAP_COMMENT_SHOW_GET_REPLY 314
|
||||
|
||||
#define E_IPC_OP_IM_LIST 315
|
||||
#define E_IPC_OP_IM_LIST_REPLY 316
|
||||
#define E_IPC_OP_IM_SET 317
|
||||
#define E_IPC_OP_IM_GET 318
|
||||
#define E_IPC_OP_IM_GET_REPLY 319
|
||||
|
||||
#define E_IPC_OP_FULLSCREEN_POLICY_SET 320
|
||||
#define E_IPC_OP_FULLSCREEN_POLICY_GET 321
|
||||
#define E_IPC_OP_FULLSCREEN_POLICY_GET_REPLY 322
|
||||
|
||||
#define E_IPC_OP_EDJE_CACHE_SET 324
|
||||
#define E_IPC_OP_EDJE_CACHE_GET 325
|
||||
#define E_IPC_OP_EDJE_CACHE_GET_REPLY 326
|
||||
|
||||
#define E_IPC_OP_EDJE_COLLECTION_CACHE_SET 327
|
||||
#define E_IPC_OP_EDJE_COLLECTION_CACHE_GET 328
|
||||
#define E_IPC_OP_EDJE_COLLECTION_CACHE_GET_REPLY 329
|
||||
|
||||
#define E_IPC_OP_CACHE_FLUSH_INTERVAL_SET 330
|
||||
#define E_IPC_OP_CACHE_FLUSH_INTERVAL_GET 331
|
||||
#define E_IPC_OP_CACHE_FLUSH_INTERVAL_GET_REPLY 332
|
||||
|
||||
#define E_IPC_OP_COLOR_CLASS_COLOR_SET 334
|
||||
#define E_IPC_OP_COLOR_CLASS_COLOR2_SET 335
|
||||
#define E_IPC_OP_COLOR_CLASS_COLOR3_SET 336
|
||||
#define E_IPC_OP_COLOR_CLASS_COLOR_LIST 337
|
||||
#define E_IPC_OP_COLOR_CLASS_COLOR2_LIST 338
|
||||
#define E_IPC_OP_COLOR_CLASS_COLOR3_LIST 339
|
||||
#define E_IPC_OP_COLOR_CLASS_COLOR_LIST_REPLY 340
|
||||
#define E_IPC_OP_COLOR_CLASS_DEL 341
|
||||
#define E_IPC_OP_COLOR_CLASS_LIST 342
|
||||
#define E_IPC_OP_COLOR_CLASS_LIST_REPLY 343
|
||||
|
||||
#define E_IPC_OP_CFGDLG_AUTO_APPLY_SET 344
|
||||
#define E_IPC_OP_CFGDLG_AUTO_APPLY_GET 345
|
||||
#define E_IPC_OP_CFGDLG_AUTO_APPLY_GET_REPLY 346
|
||||
|
||||
#define E_IPC_OP_CFGDLG_DEFAULT_MODE_SET 347
|
||||
#define E_IPC_OP_CFGDLG_DEFAULT_MODE_GET 348
|
||||
#define E_IPC_OP_CFGDLG_DEFAULT_MODE_GET_REPLY 349
|
||||
|
||||
#define E_IPC_OP_MAXIMIZE_MANIPULATION_SET 350
|
||||
#define E_IPC_OP_MAXIMIZE_MANIPULATION_GET 351
|
||||
#define E_IPC_OP_MAXIMIZE_MANIPULATION_GET_REPLY 352
|
||||
|
||||
#define E_IPC_OP_DESKTOP_LOCK 353
|
||||
|
||||
#define E_IPC_OP_INIT_SET 354
|
||||
#define E_IPC_OP_INIT_GET 355
|
||||
#define E_IPC_OP_INIT_GET_REPLY 356
|
||||
|
||||
#define E_IPC_OP_FONT_HINTING_SET 357
|
||||
#define E_IPC_OP_FONT_HINTING_GET 358
|
||||
#define E_IPC_OP_FONT_HINTING_GET_REPLY 359
|
||||
|
||||
#define E_IPC_OP_EDGE_FLIP_DRAGGING_SET 360
|
||||
#define E_IPC_OP_EDGE_FLIP_DRAGGING_GET 361
|
||||
#define E_IPC_OP_EDGE_FLIP_DRAGGING_GET_REPLY 362
|
||||
|
||||
#define E_IPC_OP_USE_COMPOSITE_SET 363
|
||||
#define E_IPC_OP_USE_COMPOSITE_GET 364
|
||||
#define E_IPC_OP_USE_COMPOSITE_GET_REPLY 365
|
||||
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_SET 366
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_GET 367
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_GET_REPLY 368
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_SET 369
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_GET 370
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_GET_REPLY 371
|
||||
|
||||
#define E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_SET 372
|
||||
#define E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_GET 373
|
||||
#define E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_GET_REPLY 374
|
||||
|
||||
#define E_IPC_OP_LOGOUT 375
|
||||
#define E_IPC_OP_HIBERNATE 376
|
||||
#define E_IPC_OP_REBOOT 377
|
||||
#define E_IPC_OP_SUSPEND 378
|
||||
#define E_IPC_OP_HALT 379
|
||||
|
||||
#define E_IPC_OP_DESKLOCK_USE_CUSTOM_DESKLOCK_SET 380
|
||||
#define E_IPC_OP_DESKLOCK_USE_CUSTOM_DESKLOCK_GET 381
|
||||
#define E_IPC_OP_DESKLOCK_USE_CUSTOM_DESKLOCK_GET_REPLY 382
|
||||
#define E_IPC_OP_DESKLOCK_CUSTOM_DESKLOCK_CMD_SET 383
|
||||
#define E_IPC_OP_DESKLOCK_CUSTOM_DESKLOCK_CMD_GET 384
|
||||
#define E_IPC_OP_DESKLOCK_CUSTOM_DESKLOCK_CMD_GET_REPLY 385
|
||||
|
||||
#define E_IPC_OP_EXEC_ACTION 386
|
||||
#define E_IPC_OP_EXEC_ACTION_REPLY 387
|
|
@ -1,248 +0,0 @@
|
|||
/*
|
||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||
*/
|
||||
#include "e.h"
|
||||
|
||||
#ifdef USE_IPC
|
||||
|
||||
typedef struct _Opt Opt;
|
||||
|
||||
struct _Opt
|
||||
{
|
||||
char *opt;
|
||||
int num_param;
|
||||
char *desc;
|
||||
int num_reply;
|
||||
E_Ipc_Op opcode;
|
||||
};
|
||||
|
||||
Opt opts[] = {
|
||||
#define TYPE E_REMOTE_OPTIONS
|
||||
#include "e_ipc_handlers.h"
|
||||
#undef TYPE
|
||||
};
|
||||
|
||||
static int _e_cb_signal_exit(void *data, int ev_type, void *ev);
|
||||
static int _e_ipc_init(void);
|
||||
static void _e_ipc_shutdown(void);
|
||||
static int _e_ipc_cb_server_add(void *data, int type, void *event);
|
||||
static int _e_ipc_cb_server_del(void *data, int type, void *event);
|
||||
static int _e_ipc_cb_server_data(void *data, int type, void *event);
|
||||
static void _e_help(void);
|
||||
|
||||
/* local subsystem globals */
|
||||
static Ecore_Ipc_Server *_e_ipc_server = NULL;
|
||||
static const char *display_name = NULL;
|
||||
static int reply_count = 0;
|
||||
static int reply_expect = 0;
|
||||
|
||||
#endif
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
#ifdef USE_IPC
|
||||
int i;
|
||||
|
||||
/* handle some command-line parameters */
|
||||
display_name = getenv("DISPLAY");
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
if ((!strcmp(argv[i], "-h")) ||
|
||||
(!strcmp(argv[i], "-help")) ||
|
||||
(!strcmp(argv[i], "--h")) ||
|
||||
(!strcmp(argv[i], "--help")))
|
||||
{
|
||||
_e_help();
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* basic ecore init */
|
||||
if (!ecore_init())
|
||||
{
|
||||
printf("ERROR: Enlightenment_remote cannot Initialize Ecore!\n"
|
||||
"Perhaps you are out of memory?\n");
|
||||
exit(-1);
|
||||
}
|
||||
ecore_app_args_set(argc, (const char **)argv);
|
||||
/* setup a handler for when e is asked to exit via a system signal */
|
||||
if (!ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, _e_cb_signal_exit, NULL))
|
||||
{
|
||||
printf("ERROR: Enlightenment_remote cannot set up an exit signal handler.\n"
|
||||
"Perhaps you are out of memory?\n");
|
||||
exit(-1);
|
||||
}
|
||||
/* init ipc */
|
||||
if (!ecore_ipc_init())
|
||||
{
|
||||
printf("ERROR: Enlightenment_remote cannot initialize the ipc system.\n"
|
||||
"Perhaps you are out of memory?\n");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
/* setup e ipc service */
|
||||
if (!_e_ipc_init())
|
||||
{
|
||||
printf("ERROR: Enlightenment_remote cannot set up the IPC socket.\n"
|
||||
"Try setting DISPLAY=:0 in your environment.\n");
|
||||
exit(-1);
|
||||
}
|
||||
e_ipc_codec_init();
|
||||
|
||||
/* start our main loop */
|
||||
ecore_main_loop_begin();
|
||||
|
||||
e_ipc_codec_shutdown();
|
||||
_e_ipc_shutdown();
|
||||
ecore_ipc_shutdown();
|
||||
ecore_shutdown();
|
||||
#endif
|
||||
|
||||
/* just return 0 to keep the compiler quiet */
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef USE_IPC
|
||||
/* local subsystem functions */
|
||||
static int
|
||||
_e_cb_signal_exit(void *data, int ev_type, void *ev)
|
||||
{
|
||||
/* called on ctrl-c, kill (pid) (also SIGINT, SIGTERM and SIGQIT) */
|
||||
ecore_main_loop_quit();
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
_e_ipc_init(void)
|
||||
{
|
||||
char *sdir;
|
||||
|
||||
sdir = getenv("E_IPC_SOCKET");
|
||||
if (!sdir)
|
||||
{
|
||||
printf("The E_IPC_SOCKET environment variable is not set. This is\n"
|
||||
"exported by Enlightenment to all processes it launches.\n"
|
||||
"This environment variable must be set and must point to\n"
|
||||
"Enlightenment's IPC socket file (minus port number).\n");
|
||||
return 0;
|
||||
}
|
||||
_e_ipc_server = ecore_ipc_server_connect(ECORE_IPC_LOCAL_SYSTEM, sdir, 0, NULL);
|
||||
if (!_e_ipc_server) return 0;
|
||||
|
||||
ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_ADD, _e_ipc_cb_server_add, NULL);
|
||||
ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DEL, _e_ipc_cb_server_del, NULL);
|
||||
ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DATA, _e_ipc_cb_server_data, NULL);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_ipc_shutdown(void)
|
||||
{
|
||||
if (_e_ipc_server)
|
||||
{
|
||||
ecore_ipc_server_del(_e_ipc_server);
|
||||
_e_ipc_server = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
_e_ipc_cb_server_add(void *data, int type, void *event)
|
||||
{
|
||||
Ecore_Ipc_Event_Server_Add *e;
|
||||
char **argv, **params;
|
||||
int i, j, argc, process_count = 0;
|
||||
|
||||
e = event;
|
||||
ecore_app_args_get(&argc, &argv);
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
for (j = 0; j < (int)(sizeof(opts) / sizeof(Opt)); j++)
|
||||
{
|
||||
Opt *opt;
|
||||
|
||||
opt = &(opts[j]);
|
||||
if (!strcmp(opt->opt, argv[i]))
|
||||
{
|
||||
if (i >= (argc - opt->num_param))
|
||||
{
|
||||
printf("ERROR: option %s expects %i parameters\n",
|
||||
opt->opt, opt->num_param);
|
||||
exit(-1);
|
||||
}
|
||||
else
|
||||
{
|
||||
params = &(argv[i + 1]);
|
||||
switch (opt->opcode)
|
||||
{
|
||||
#define TYPE E_REMOTE_OUT
|
||||
#include "e_ipc_handlers.h"
|
||||
#undef TYPE
|
||||
default:
|
||||
break;
|
||||
}
|
||||
process_count++;
|
||||
reply_expect += opt->num_reply;
|
||||
i += opt->num_param;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (process_count <= 0) _e_help();
|
||||
if (reply_count >= reply_expect) ecore_main_loop_quit();
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
_e_ipc_cb_server_del(void *data, int type, void *event)
|
||||
{
|
||||
Ecore_Ipc_Event_Server_Del *e;
|
||||
|
||||
e = event;
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
_e_ipc_cb_server_data(void *data, int type, void *event)
|
||||
{
|
||||
Ecore_Ipc_Event_Server_Data *e;
|
||||
|
||||
e = event;
|
||||
printf("REPLY <- BEGIN\n");
|
||||
switch (e->minor)
|
||||
{
|
||||
#define TYPE E_REMOTE_IN
|
||||
#include "e_ipc_handlers.h"
|
||||
#undef TYPE
|
||||
default:
|
||||
break;
|
||||
}
|
||||
printf("REPLY <- END\n");
|
||||
reply_count++;
|
||||
if (reply_count >= reply_expect) ecore_main_loop_quit();
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_help(void)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
printf("OPTIONS:\n");
|
||||
printf(" -h This help\n");
|
||||
printf(" -help This help\n");
|
||||
printf(" --help This help\n");
|
||||
printf(" --h This help\n");
|
||||
for (j = 0; j < (int)(sizeof(opts) / sizeof(Opt)); j++)
|
||||
{
|
||||
Opt *opt;
|
||||
|
||||
opt = &(opts[j]);
|
||||
printf(" %s ", opt->opt);
|
||||
for (i = 0; i < opt->num_param; i++)
|
||||
printf("OPT%i ", i + 1);
|
||||
printf("%s\n", opt->desc);
|
||||
}
|
||||
}
|
||||
#endif
|
Loading…
Reference in New Issue