#pragma once /// \file signals.h /// Collection of constants for the j6_signal_t type // Signals 0-15 are common to all types #define j6_signal_no_handles (1ull << 0) #define j6_signal_closed (1ull << 1) // Signals 16-47 are defined per-object-type // Process signals // Thread signals // Channel signals #define j6_signal_channel_can_send (1ull << 16) #define j6_signal_channel_can_recv (1ull << 17) // Endpoint signals #define j6_signal_endpoint_can_send (1ull << 16) #define j6_signal_endpoint_can_recv (1ull << 17) // Signals 48-63 are user-defined signals #define j6_signal_user0 (1ull << 48) #define j6_signal_user1 (1ull << 49) #define j6_signal_user2 (1ull << 50) #define j6_signal_user3 (1ull << 51) #define j6_signal_user4 (1ull << 52) #define j6_signal_user5 (1ull << 53) #define j6_signal_user6 (1ull << 54) #define j6_signal_user7 (1ull << 55) #define j6_signal_user8 (1ull << 56) #define j6_signal_user9 (1ull << 57) #define j6_signal_user10 (1ull << 58) #define j6_signal_user11 (1ull << 59) #define j6_signal_user12 (1ull << 60) #define j6_signal_user13 (1ull << 61) #define j6_signal_user14 (1ull << 62) #define j6_signal_user15 (1ull << 63) #define j6_signal_user_mask (0xffffull << 48)