/drivers/net/wireless/tiwlan1251/CUDK/CLI/ipc.h
C Header | 99 lines | 57 code | 23 blank | 19 comment | 0 complexity | 90febc4630f02826774b43f9c3bb3402 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0, LGPL-2.0
- /*******************************************************************************
- **+--------------------------------------------------------------------------+**
- **| |**
- **| Copyright 1998-2008 Texas Instruments, Inc. - http://www.ti.com/ |**
- **| |**
- **| Licensed under the Apache License, Version 2.0 (the "License"); |**
- **| you may not use this file except in compliance with the License. |**
- **| You may obtain a copy of the License at |**
- **| |**
- **| http://www.apache.org/licenses/LICENSE-2.0 |**
- **| |**
- **| Unless required by applicable law or agreed to in writing, software |**
- **| distributed under the License is distributed on an "AS IS" BASIS, |**
- **| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |**
- **| See the License for the specific language governing permissions and |**
- **| limitations under the License. |**
- **| |**
- **+--------------------------------------------------------------------------+**
- *******************************************************************************/
- #ifndef IPC_H
- #define IPC_H
- #define TERMINAL_MUX_UART_ID (28)
- #define LOGGER_MUX_UART_ID (30)
- #define WIPP_CONTROL_MUX_UART_ID (25)
- #define G_TESTER_MUX_UART_ID (23)
- #define ETHERNET_UTILS_NUMBER_OF_MODULES (4)
- #define ETHERNET_UTILS_TERMINAL_MODULE_ID (0)
- #define ETHERNET_UTILS_LOGGER_MODULE_ID (1)
- #define ETHERNET_UTILS_WIPP_MODULE_ID (2)
- #define ETHERNET_UTILS_G_TESTER_MODULE_ID (3)
- #define GENERAL_PROCESS_MODULE_ID (4)
- #define WIPP_CONTROL_FROM_GENERAL_PROCESS_SEND_TERMINATE (0x00)
- #define WIPP_CONTROL_FROM_GENERAL_PROCESS_DEACTIVATE_IPERF (0x01)
- extern void *p_shared_memory;
- extern int ipc_semaphore_id;
- extern int ethernet_logger_process_pid;
- extern int ethernet_g_tester_process_pid;
- extern int ethernet_wipp_process_pid;
- extern int ethernet_wipp_control_pipe[2];
- extern int ethernet_g_tester_pipe[2];
- extern int ethernet_logger_pipe[2];
- extern int ipc_pipe[2];
- typedef struct t_shared_memory_rec
- {
- #define OUTPUT_PATH_SIMPLE_UART (0)
- #define OUTPUT_PATH_MUX_UART (1)
- #define OUTPUT_PATH_ETHERNET (2)
- unsigned char output_paths[ETHERNET_UTILS_NUMBER_OF_MODULES];
- unsigned char mux_uart_id[ETHERNET_UTILS_NUMBER_OF_MODULES];
- int ethernet_socket_ids[ETHERNET_UTILS_NUMBER_OF_MODULES];
- int ipc_pipe[ETHERNET_UTILS_NUMBER_OF_MODULES];
- unsigned char uart_mux_enabled;
- int debug_module_dev_file;
- int run_process_state;
- int run_process_result;
- } shared_memory_reco;
- #define SHARED_MEMORY_SIZE (sizeof(shared_memory_reco))
- #define SHARED_MEMORY_OUTPUT_PATH(_module_index) (((shared_memory_reco *)(p_shared_memory))->output_paths[_module_index])
- #define SHARED_MEMORY_TERMINAL_OUTPUT_PATH() (((shared_memory_reco *)(p_shared_memory))->output_paths[ETHERNET_UTILS_TERMINAL_MODULE_ID])
- #define SHARED_MEMORY_LOGGER_OUTPUT_PATH() (((shared_memory_reco *)(p_shared_memory))->output_paths[ETHERNET_UTILS_LOGGER_MODULE_ID])
- #define SHARED_MEMORY_WIPP_OUTPUT_PATH() (((shared_memory_reco *)(p_shared_memory))->output_paths[ETHERNET_UTILS_WIPP_MODULE_ID])
- #define SHARED_MEMORY_ETHERNET_SOCKET_ID(_module_index) (((shared_memory_reco *)(p_shared_memory))->ethernet_socket_ids[_module_index])
- #define SHARED_MEMORY_ETHERNET_TERMINAL_SOCKET_ID() (((shared_memory_reco *)(p_shared_memory))->ethernet_socket_ids[ETHERNET_UTILS_TERMINAL_MODULE_ID])
- #define SHARED_MEMORY_ETHERNET_LOGGER_SOCKET_ID() (((shared_memory_reco *)(p_shared_memory))->ethernet_socket_ids[ETHERNET_UTILS_LOGGER_MODULE_ID])
- #define SHARED_MEMORY_ETHERNET_WIPP_SOCKET_ID() (((shared_memory_reco *)(p_shared_memory))->ethernet_socket_ids[ETHERNET_UTILS_WIPP_MODULE_ID])
- #define SHARED_MEMORY_IPC_PIPE(_module_index) (((shared_memory_reco *)(p_shared_memory))->ipc_pipe[_module_index])
- #define SHARED_MEMORY_MUX_UART_ID(_module_index) (((shared_memory_reco *)(p_shared_memory))->mux_uart_id[_module_index])
- #define SHARED_MEMORY_UART_MUX_ENABLED() (((shared_memory_reco *)(p_shared_memory))->uart_mux_enabled)
- #define SHARED_MEMORY_RUN_PROCESS_RUNNING() (((shared_memory_reco *)(p_shared_memory))->run_process_state)
- #define SHARED_MEMORY_RUN_PROCESS_RESULT() (((shared_memory_reco *)(p_shared_memory))->run_process_result)
- #define SHARED_MEMORY_SWITCH_TO_UART_OUTPUT(_module_index) (SHARED_MEMORY_OUTPUT_PATH(_module_index) = (SHARED_MEMORY_UART_MUX_ENABLED() ? OUTPUT_PATH_MUX_UART : OUTPUT_PATH_SIMPLE_UART))
- #define SHARED_MEMORY_DBG_DEV_FILE() (((shared_memory_reco *)(p_shared_memory))->debug_module_dev_file)
- int ipc_initialize(void);
- void ipc_deinitialize(void);
- void ipc_send_command_to_main_process(int module_index, unsigned char *commnad, int size);
- #endif /* IPC_H */