PatchworkOS  966e257
A non-POSIX operating system.
Loading...
Searching...
No Matches
group.c File Reference
#include <_internal/CONTAINER_OF.h>
#include <kernel/proc/group.h>
#include <kernel/proc/process.h>
#include <kernel/sched/thread.h>
#include <kernel/utils/map.h>
#include <errno.h>
#include <stdlib.h>
Include dependency graph for group.c:

Go to the source code of this file.

Functions

void group_entry_init (group_entry_t *entry)
 Initializes a group entry.
 
void group_entry_deinit (group_entry_t *entry)
 Deinitializes a group entry.
 
uint64_t group_add (gid_t gid, group_entry_t *entry)
 Adds a process to a group.
 
void group_remove (group_entry_t *entry)
 Removes a process from its group.
 
gid_t group_get_id (group_entry_t *entry)
 Gets the ID of the group of the specified entry.
 
uint64_t group_send_note (group_entry_t *entry, const char *note)
 Sends a note to all processes in the group of the specified entry.
 

Variables

static map_t groups = MAP_CREATE()
 
static uint64_t nextGid = 1
 
static lock_t groupsLock = LOCK_CREATE()
 

Variable Documentation

◆ groups

map_t groups = MAP_CREATE()
static

Definition at line 10 of file group.c.

◆ nextGid

uint64_t nextGid = 1
static

Definition at line 11 of file group.c.

◆ groupsLock

lock_t groupsLock = LOCK_CREATE()
static

Definition at line 12 of file group.c.