📄 point.c
字号:
/* Copyright (C) 2004,2005,2006 Bull S.A. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#if HAVE_CONFIG_H#include <config.h>#endif#include "types.h"#define TR1(param,x) {1, {EVT_##x, 0}}#define TR2(param,x,y) {2, {EVT_##x,EVT_##y, 0}}#define TR3(param,x,y,z) {3, {EVT_##x,EVT_##y,EVT_##z}}ptt_point_data_t ptt_point_array[] = { {0, {0, 0, 0}}, TR1(INIT, START_USER_FUNC), TR1(FINI, END_USER_FUNC), TR3(BARRIER_1, BARRIER_DESTROY_IN, BARRIER_LOCK_REQUIRE, THREAD_STATE_WAIT), TR2(BARRIER_2, THREAD_STATE_WAKE, BARRIER_LOCK_TAKEN), TR1(BARRIER_3, BARRIER_LOCK_FREE), TR1(BARRIER_4, BARRIER_DESTROY_OUT), TR1(BARRIER_5, BARRIER_INIT_IN), TR1(BARRIER_6, BARRIER_INIT_OUT), TR2(BARRIER_7, BARRIER_INIT, BARRIER_INIT_OUT), TR3(BARRIER_8, BARRIER_WAIT_IN, BARRIER_LOCK_REQUIRE, THREAD_STATE_WAIT), TR1(BARRIER_9, BARRIER_LEFT_DEC), TR2(BARRIER_10, BARRIER_LEFT_INC, BARRIER_LOCK_FREE), TR1(BARRIER_11, BARRIER_LEFT_INC), TR1(BARRIER_12, BARRIER_WAIT_OUT), TR1(BARRIER_13, BARRIER_DESTROY), TR1(BARRIER_14, THREAD_STATE_WAIT_BARRIER), TR1(BARRIER_15, THREAD_STATE_WAKE_BARRIER), TR3(COND_1, COND_DESTROY_IN, COND_LOCK_REQUIRE, THREAD_STATE_WAIT), TR2(COND_2, THREAD_STATE_WAKE, COND_LOCK_TAKEN), TR1(COND_3, COND_LOCK_FREE), TR1(COND_4, COND_DESTROY_OUT), TR1(COND_5, COND_TOTAL_SEQ_SET), TR2(COND_6, THREAD_STATE_WAKE, COND_LOCK_REQUIRE), TR1(COND_7, COND_LOCK_TAKEN), TR2(COND_8, COND_DESTROY, COND_DESTROY_OUT), TR1(COND_9, COND_INIT_IN), TR2(COND_10, COND_INIT, COND_INIT_OUT), TR3(COND_11, COND_WAIT_IN, COND_LOCK_REQUIRE, THREAD_STATE_WAIT), TR1(COND_12, COND_WAIT_OUT), TR1(COND_13, COND_MUTEX_FREE), TR1(COND_14, COND_TOTAL_SEQ_INC), TR2(COND_15, COND_LOCK_REQUIRE, THREAD_STATE_WAIT), TR1(COND_16, COND_MUTEX_REQUIRE), TR2(COND_17, COND_MUTEX_TAKEN, COND_WAIT_OUT), TR3(COND_18, COND_BROAD_IN, COND_LOCK_REQUIRE, THREAD_STATE_WAIT), TR2(COND_19, COND_BROAD_SEQ_INC, COND_LOCK_FREE), TR1(COND_20, COND_BROAD_OUT), TR3(COND_21, COND_SIGNAL_IN, COND_LOCK_REQUIRE, THREAD_STATE_WAIT), TR1(COND_22, COND_SIGNAL_OUT), TR1(COND_23, THREAD_STATE_WAIT_COND), TR1(COND_24, THREAD_STATE_WAKE_COND), TR1(MUTEX_1, MUTEX_DESTROY_IN), TR1(MUTEX_2, MUTEX_DESTROY_OUT), TR2(MUTEX_3, MUTEX_DESTROY, MUTEX_DESTROY_OUT), TR1(MUTEX_4, MUTEX_INIT_IN), TR1(MUTEX_5, MUTEX_INIT_OUT), TR2(MUTEX_6, MUTEX_INIT, MUTEX_INIT_OUT), TR1(MUTEX_7, MUTEX_LOCK_IN), TR1(MUTEX_8, MUTEX_LOCK_OUT), TR2(MUTEX_9, MUTEX_COUNT_INC, MUTEX_LOCK_OUT), TR2(MUTEX_10, MUTEX_STATE_REQUIRE, THREAD_STATE_WAIT_MUTEX), TR2(MUTEX_11, THREAD_STATE_WAKE_MUTEX, MUTEX_STATE_TAKEN), TR1(MUTEX_12, MUTEX_COUNT_INC), TR2(MUTEX_13, MUTEX_OWNER_CHANGE, MUTEX_LOCK_OUT), TR1(MUTEX_14, MUTEX_UNLOCK_IN), TR1(MUTEX_15, MUTEX_UNLOCK_OUT), TR2(MUTEX_16, MUTEX_COUNT_DEC, MUTEX_UNLOCK_OUT), TR1(MUTEX_17, MUTEX_OWNER_CHANGE), TR1(MUTEX_18, MUTEX_STATE_FREE), TR1(THREAD_1, THREAD_STATE_DEAD), TR1(THREAD_2, THREAD_STATE_WAIT), TR1(THREAD_3, THREAD_STATE_WAKE), TR1(THREAD_4, THREAD_CANCEL_IN), TR1(THREAD_5, THREAD_CANCEL_OUT), TR1(THREAD_6, THREAD_CANCEL_PROG), TR2(THREAD_7, THREAD_STATE_CANCEL, THREAD_CANCEL_OUT), TR1(THREAD_8, THREAD_CREATE_IN), TR1(THREAD_9, THREAD_CREATE_OUT), TR1(THREAD_10, THREAD_SET_PD), TR3(THREAD_11, THREAD_INIT, THREAD_DETACH, THREAD_CREATE_OUT), TR2(THREAD_12, THREAD_INIT, THREAD_CREATE_OUT), TR1(THREAD_13, THREAD_JOIN_IN), TR1(THREAD_14, THREAD_JOIN_OUT), TR2(THREAD_15, THREAD_STATE_WAKE, THREAD_JOIN), TR1(FORK, PROG_FORK), TR1(SEM_1, SEM_INIT_IN), TR1(SEM_2, SEM_INIT_OUT), TR2(SEM_3, SEM_INIT, SEM_INIT_OUT), TR3(SEM_4, SEM_DESTROY_IN, SEM_DESTROY, SEM_DESTROY_OUT), TR2(SEM_5, SEM_POST_IN, SEM_COUNT_INC), TR1(SEM_6, SEM_POST_OUT), TR1(SEM_7, SEM_WAIT_IN), TR2(SEM_8, SEM_COUNT_DEC, SEM_WAIT_OUT), TR1(SEM_9, SEM_WAIT_OUT), TR2(SEM_10, SEM_COUNT_DEC, SEM_TRYWAIT_OUT), TR1(SEM_11, SEM_TRYWAIT_OUT), TR1(SEM_12, SEM_TRYWAIT_IN), TR2(SEM_13, SEM_CLOSE_IN, SEM_MAPPINGSLOCK_REQUIRE), TR1(SEM_14, SEM_MAPPINGSLOCK_TAKEN), TR2(SEM_15, SEM_MAPPINGSLOCK_FREE, SEM_CLOSE_OUT), TR1(SEM_16, SEM_REFCOUNT_DEC), TR1(SEM_17, SEM_DESTROY), TR1(SEM_18, SEM_MAPPINGSLOCK_REQUIRE), TR1(SEM_19, SEM_MAPPINGSLOCK_FREE), TR1(SEM_20, SEM_REFCOUNT_INC), TR1(SEM_21, SEM_INIT), TR1(SEM_22, SEM_OPEN_IN), TR1(SEM_23, SEM_OPEN_OUT), TR1(SEM_24, SEM_UNLINK_IN), TR1(SEM_25, SEM_UNLINK_OUT), TR1(SEM_26, SEM_OPEN_CREATE), TR1(SEM_27, THREAD_STATE_WAIT_SEM), TR1(SEM_28, THREAD_STATE_WAKE_SEM),};ptt_point_compiled_data_t ptt_point_compiled_array[] = {#if __WORDSIZE == 64 {{}, 0, 7}, /* NULL */ {{PTT_UINT}, 1, 8}, /* INIT */ {{}, 0, 7}, /* FINI */ {{PTT_PTR, PTT_PTR, PTT_INT}, 3, 12}, /* BAR_1 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* BAR_2 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* BAR_3 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* BAR_4 */ {{PTT_PTR, PTT_PTR, PTT_UINT}, 3, 12}, /* BAR_5 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* BAR_6 */ {{PTT_PTR, PTT_UINT, PTT_PTR, PTT_INT}, 4, 13}, /* BAR_7 */ {{PTT_PTR, PTT_PTR, PTT_INT}, 3, 12}, /* BAR_8 */ {{PTT_PTR, PTT_UINT}, 2, 10}, /* BAR_9 */ {{PTT_PTR, PTT_UINT, PTT_PTR, PTT_INT}, 4, 13}, /* BAR_10 */ {{PTT_PTR, PTT_UINT}, 2, 10}, /* BAR_11 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* BAR_12 */ {{PTT_PTR}, 1, 9}, /* BAR_13 */ {{PTT_PTR}, 1, 9}, /* BAR_14 */ {{PTT_PTR}, 1, 9}, /* BAR_15 */ {{PTT_PTR, PTT_PTR, PTT_INT}, 3, 12}, /* COND_1 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* COND_2 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* COND_3 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* COND_4 */ {{PTT_PTR, PTT_ULL}, 2, 11}, /* COND_5 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* COND_6 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* COND_7 */ {{PTT_PTR, PTT_PTR, PTT_INT}, 3, 12}, /* COND_8 */ {{PTT_PTR, PTT_PTR}, 2, 11}, /* COND_9 */ {{PTT_PTR, PTT_PTR, PTT_ULL, PTT_UINT, PTT_PTR, PTT_INT}, 6, 17}, {{PTT_PTR, PTT_PTR, PTT_PTR, PTT_INT}, 4, 14}, /* COND_11 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* COND_12 */ {{PTT_PTR, PTT_PTR}, 2, 11}, /* COND_13 */ {{PTT_PTR, PTT_ULL}, 2, 11}, /* COND_14 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* COND_15 */ {{PTT_PTR, PTT_PTR}, 2, 11}, /* COND_16 */ {{PTT_PTR, PTT_PTR, PTT_PTR, PTT_INT}, 4, 14}, /* COND_17 */ {{PTT_PTR, PTT_PTR, PTT_INT}, 3, 12}, /* COND_18 */ {{PTT_PTR, PTT_UINT, PTT_PTR, PTT_INT}, 4, 13}, /* COND_19 */ {{PTT_PTR, PTT_INT}, 2, 10}, /* COND_20 */ {{PTT_PTR, PTT_PTR, PTT_INT}, 3, 12}, /* COND_21 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -