| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #ifndef CX_ZIVUOS_PROCESS_H_INCLUDED
- #define CX_ZIVUOS_PROCESS_H_INCLUDED
- #include "status.h"
- #include "models.h"
- typedef struct zv_process_s {
- struct zv_process_s *next;
- zv_pid_t pid;
- zv_status_t status;
- zv_universal_param_t param[1];
- zv_worker_t worker;
- zv_updater_t updater[1];
- #ifndef ZIVUOS_USE_STATIC
- bool is_dynamic;
- #endif
- } zv_process_t;
- zv_process_t * zv_process_create();
- zv_process_t * zv_process_remove(zv_process_t *);
- static inline zv_pid_t zv_process_get_pid(zv_process_t *self) {
- return self->pid;
- }
- static inline void zv_process_set_worker(
- zv_process_t *self,
- zv_worker_t worker
- ) {
- self->worker = worker;
- }
- static inline void zv_process_set_updater(
- zv_process_t *self,
- zv_updater_t updater
- ) {
- *self->updater = updater;
- }
- static inline void zv_process_set_param(
- zv_process_t *self,
- zv_universal_param_t param
- ) {
- *self->param = param;
- }
- static inline void zv_process_set_status(
- zv_process_t *self,
- zv_status_t status
- ) {
- self->status = status;
- }
- static inline void zv_process_set_number_param(
- zv_process_t *self,
- intptr_t number
- ) {
- self->param->number = number;
- }
- static inline void zv_process_set_unumber_param(
- zv_process_t *self,
- uintptr_t unumber
- ) {
- self->param->unumber = unumber;
- }
- static inline void zv_process_set_pointer_param(
- zv_process_t *self,
- void *pointer
- ) {
- self->param->pointer = pointer;
- }
- static inline void zv_process_set_dynamic_updater(
- zv_process_t *self,
- zv_checker_t checker
- ) {
- self->updater->dynamic = checker;
- }
- static inline void zv_process_set_readiness(
- zv_process_t *self,
- zv_readiness_t readiness
- ) {
- self->updater->non_dynamic = readiness;
- }
- #endif
|