-struct darwin_exception_msg
-{
- mach_msg_header_t header;
-
- /* Thread and task taking the exception. */
- mach_port_t thread_port;
- mach_port_t task_port;
-
- /* Type of the exception. */
- exception_type_t ex_type;
-
- /* Machine dependent details. */
- mach_msg_type_number_t data_count;
- integer_t ex_data[2];
-};
-
-enum darwin_msg_state
-{
- /* The thread is running. */
- DARWIN_RUNNING,
-
- /* The thread is stopped. */
- DARWIN_STOPPED,
-
- /* The thread has sent a message and waits for a reply. */
- DARWIN_MESSAGE
-};
-
-struct darwin_thread_info : public private_thread_info
-{
- /* The thread port from a GDB point of view. */
- thread_t gdb_port;
-
- /* The thread port from the inferior point of view. Not to be used inside
- gdb except for get_ada_task_ptid. */
- thread_t inf_port;
-
- /* Current message state.
- If the kernel has sent a message it expects a reply and the inferior
- can't be killed before. */
- enum darwin_msg_state msg_state;
-
- /* True if this thread is single-stepped. */
- unsigned char single_step;
-
- /* True if a signal was manually sent to the thread. */
- unsigned char signaled;
-
- /* The last exception received. */
- struct darwin_exception_msg event;
-};
-typedef struct darwin_thread_info darwin_thread_t;
-