PageRenderTime 46ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/drivers/net/wireless/tiwlan1251/CUDK/CLI/ipc.h

http://github.com/CyanogenMod/cm-kernel
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
  1. /*******************************************************************************
  2. **+--------------------------------------------------------------------------+**
  3. **| |**
  4. **| Copyright 1998-2008 Texas Instruments, Inc. - http://www.ti.com/ |**
  5. **| |**
  6. **| Licensed under the Apache License, Version 2.0 (the "License"); |**
  7. **| you may not use this file except in compliance with the License. |**
  8. **| You may obtain a copy of the License at |**
  9. **| |**
  10. **| http://www.apache.org/licenses/LICENSE-2.0 |**
  11. **| |**
  12. **| Unless required by applicable law or agreed to in writing, software |**
  13. **| distributed under the License is distributed on an "AS IS" BASIS, |**
  14. **| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |**
  15. **| See the License for the specific language governing permissions and |**
  16. **| limitations under the License. |**
  17. **| |**
  18. **+--------------------------------------------------------------------------+**
  19. *******************************************************************************/
  20. #ifndef IPC_H
  21. #define IPC_H
  22. #define TERMINAL_MUX_UART_ID (28)
  23. #define LOGGER_MUX_UART_ID (30)
  24. #define WIPP_CONTROL_MUX_UART_ID (25)
  25. #define G_TESTER_MUX_UART_ID (23)
  26. #define ETHERNET_UTILS_NUMBER_OF_MODULES (4)
  27. #define ETHERNET_UTILS_TERMINAL_MODULE_ID (0)
  28. #define ETHERNET_UTILS_LOGGER_MODULE_ID (1)
  29. #define ETHERNET_UTILS_WIPP_MODULE_ID (2)
  30. #define ETHERNET_UTILS_G_TESTER_MODULE_ID (3)
  31. #define GENERAL_PROCESS_MODULE_ID (4)
  32. #define WIPP_CONTROL_FROM_GENERAL_PROCESS_SEND_TERMINATE (0x00)
  33. #define WIPP_CONTROL_FROM_GENERAL_PROCESS_DEACTIVATE_IPERF (0x01)
  34. extern void *p_shared_memory;
  35. extern int ipc_semaphore_id;
  36. extern int ethernet_logger_process_pid;
  37. extern int ethernet_g_tester_process_pid;
  38. extern int ethernet_wipp_process_pid;
  39. extern int ethernet_wipp_control_pipe[2];
  40. extern int ethernet_g_tester_pipe[2];
  41. extern int ethernet_logger_pipe[2];
  42. extern int ipc_pipe[2];
  43. typedef struct t_shared_memory_rec
  44. {
  45. #define OUTPUT_PATH_SIMPLE_UART (0)
  46. #define OUTPUT_PATH_MUX_UART (1)
  47. #define OUTPUT_PATH_ETHERNET (2)
  48. unsigned char output_paths[ETHERNET_UTILS_NUMBER_OF_MODULES];
  49. unsigned char mux_uart_id[ETHERNET_UTILS_NUMBER_OF_MODULES];
  50. int ethernet_socket_ids[ETHERNET_UTILS_NUMBER_OF_MODULES];
  51. int ipc_pipe[ETHERNET_UTILS_NUMBER_OF_MODULES];
  52. unsigned char uart_mux_enabled;
  53. int debug_module_dev_file;
  54. int run_process_state;
  55. int run_process_result;
  56. } shared_memory_reco;
  57. #define SHARED_MEMORY_SIZE (sizeof(shared_memory_reco))
  58. #define SHARED_MEMORY_OUTPUT_PATH(_module_index) (((shared_memory_reco *)(p_shared_memory))->output_paths[_module_index])
  59. #define SHARED_MEMORY_TERMINAL_OUTPUT_PATH() (((shared_memory_reco *)(p_shared_memory))->output_paths[ETHERNET_UTILS_TERMINAL_MODULE_ID])
  60. #define SHARED_MEMORY_LOGGER_OUTPUT_PATH() (((shared_memory_reco *)(p_shared_memory))->output_paths[ETHERNET_UTILS_LOGGER_MODULE_ID])
  61. #define SHARED_MEMORY_WIPP_OUTPUT_PATH() (((shared_memory_reco *)(p_shared_memory))->output_paths[ETHERNET_UTILS_WIPP_MODULE_ID])
  62. #define SHARED_MEMORY_ETHERNET_SOCKET_ID(_module_index) (((shared_memory_reco *)(p_shared_memory))->ethernet_socket_ids[_module_index])
  63. #define SHARED_MEMORY_ETHERNET_TERMINAL_SOCKET_ID() (((shared_memory_reco *)(p_shared_memory))->ethernet_socket_ids[ETHERNET_UTILS_TERMINAL_MODULE_ID])
  64. #define SHARED_MEMORY_ETHERNET_LOGGER_SOCKET_ID() (((shared_memory_reco *)(p_shared_memory))->ethernet_socket_ids[ETHERNET_UTILS_LOGGER_MODULE_ID])
  65. #define SHARED_MEMORY_ETHERNET_WIPP_SOCKET_ID() (((shared_memory_reco *)(p_shared_memory))->ethernet_socket_ids[ETHERNET_UTILS_WIPP_MODULE_ID])
  66. #define SHARED_MEMORY_IPC_PIPE(_module_index) (((shared_memory_reco *)(p_shared_memory))->ipc_pipe[_module_index])
  67. #define SHARED_MEMORY_MUX_UART_ID(_module_index) (((shared_memory_reco *)(p_shared_memory))->mux_uart_id[_module_index])
  68. #define SHARED_MEMORY_UART_MUX_ENABLED() (((shared_memory_reco *)(p_shared_memory))->uart_mux_enabled)
  69. #define SHARED_MEMORY_RUN_PROCESS_RUNNING() (((shared_memory_reco *)(p_shared_memory))->run_process_state)
  70. #define SHARED_MEMORY_RUN_PROCESS_RESULT() (((shared_memory_reco *)(p_shared_memory))->run_process_result)
  71. #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))
  72. #define SHARED_MEMORY_DBG_DEV_FILE() (((shared_memory_reco *)(p_shared_memory))->debug_module_dev_file)
  73. int ipc_initialize(void);
  74. void ipc_deinitialize(void);
  75. void ipc_send_command_to_main_process(int module_index, unsigned char *commnad, int size);
  76. #endif /* IPC_H */