PatchworkOS  966e257
A non-POSIX operating system.
Loading...
Searching...
No Matches
note.h File Reference
#include <kernel/config.h>
#include <kernel/cpu/interrupt.h>
#include <kernel/sync/lock.h>
#include <kernel/utils/map.h>
#include <sys/io.h>
#include <sys/proc.h>
Include dependency graph for note.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  note_t
 Note structure. More...
 
struct  note_handler_t
 Per-process note handler. More...
 
struct  note_queue_t
 Per-thread note queue. More...
 

Macros

#define NOTE_MAX   256
 Maximum size of a notes buffer.
 

Typedefs

typedef struct cpu cpu_t
 

Enumerations

enum  note_queue_flag_t { NOTE_QUEUE_NONE = 0 , NOTE_QUEUE_RECEIVED_KILL = 1 << 0 , NOTE_QUEUE_HANDLING = 1 << 1 }
 Note queue flags. More...
 

Functions

void note_handler_init (note_handler_t *handler)
 Initialize a note handler.
 
void note_queue_init (note_queue_t *queue)
 Initialize a note queue.
 
uint64_t note_amount (note_queue_t *queue)
 The amount of pending notes in a note queue, including special notes.
 
uint64_t note_send (note_queue_t *queue, const char *string)
 Write a note to a note queue.
 
bool note_handle_pending (interrupt_frame_t *frame, cpu_t *self)
 Handle pending notes for the current thread.
 

Typedef Documentation

◆ cpu_t

typedef struct cpu cpu_t

Definition at line 11 of file note.h.