Welcome to: MultiverseeSocial.com
Tony's Channel Paradigm
 
 
SignalChannel functions/defines.

c
har *AllocSignal(unsigned char)
char *FreeSignal(struct Signal *tSignal)



struct SignalGroup
{
struct HyperLinkedList *signal_list;
unsigned char reserved[512];
unsigned char current_offset;
unsigned char currrent_bit;
};

struct Signal
{
struct Linkable node;
struct SignalGroup     *parent_group;
struct HyperLinkedList *parent_list;
struct HyperLinkedList *replyList;// Listeners
char *signal_byte; // points to offset in SignalGroup.reserved;
};

SignalChannel Definitons
 
Posix & extended signal emulation.
Extended Signals interface definitions by Tony Swain Feb 12 2022
Tony trick: 15 bits of signals compressed into 8 bits. :)
Plus 3 user bits


#define SIG_HUP   0x01
#define SIG_INT     0x02
#define SIG_QUIT  0x04     
#define SIG_KILL   0x08  // Definition Bank Zero
#define SIG_ABRT 0x20
  //---
#define SIG_USR1   0x01
#define SIG_USR2   0x02 // Definition Bank ONE
#define SIG_PIPE    0x04
#define SIG_ALRM   0x08
#define SIG_TERM   0x10
  //----
#define SIG_GPU             0x04    // Definition Bank TWO
#define SIG_PAUSE         0x08   //-- remove from thread shedule list
#define SIG_SHEDULE    0x10   //  add to thread shedule list
#define SIG_EXTENDED 0x20  // Use an extention block of bits
 //----Allocation control bits.
#define SIG_BNK1   0x10  //--
#define SIG_BNK2   0x20  //-- If you use bank 2, bank 1 is a spare :)
#define SIG_USR3   0x40
#define SIG_USED   0x80  // Signal allocated bit