child.h

00001 #ifndef _KLONED_CHILD_S_H_
00002 #define _KLONED_CHILD_S_H_
00003 #include "klone_conf.h"
00004 #include <time.h>
00005 #include <u/libu.h>
00006 #include <klone/backend.h>
00007 
00008 struct child_s
00009 {
00010     TAILQ_ENTRY(child_s) np;    /* next & prev pointers */
00011     pid_t pid;
00012     backend_t *be;
00013     time_t birth;
00014 };
00015 
00016 typedef struct child_s child_t;
00017 
00018 struct children_s;
00019 typedef struct children_s children_t;
00020 
00021 int child_create(pid_t pid, backend_t *be, child_t **pchild);
00022 int child_free(child_t *child);
00023 
00024 backend_t* child_backend(child_t *child);
00025 pid_t* child_pid(child_t *child);
00026 time_t* child_birth(child_t *child);
00027 
00028 /* list of child objects */
00029 int children_create(children_t **pcs);
00030 int children_free(children_t *cs);
00031 int children_clear(children_t *cs);
00032 size_t children_count(children_t *cs);
00033 int children_del(children_t *cs, child_t *child);
00034 int children_add(children_t *cs, child_t *child);
00035 int children_getn(children_t *cs, size_t i, child_t **pc);
00036 int children_get_by_pid(children_t *cs, pid_t pid, child_t **pc);
00037 
00038 #endif

←Products
Copyright © 2005-2012 - KoanLogic S.r.l. - All rights reserved