mirror of
https://github.com/urbit/shrub.git
synced 2024-12-12 10:29:01 +03:00
initial work
This commit is contained in:
parent
7fd0f0aa1a
commit
2f26b60d59
51
i/v/vere.h
51
i/v/vere.h
@ -297,6 +297,7 @@
|
||||
struct _u3_udir;
|
||||
struct _u3_ufil;
|
||||
|
||||
#ifdef DELETEME
|
||||
/* u3_unod: in-file or in-directory.
|
||||
*/
|
||||
typedef struct _u3_unod {
|
||||
@ -344,6 +345,43 @@
|
||||
struct _u3_uhot* nex_u; // internal list
|
||||
} u3_uhot;
|
||||
|
||||
#endif
|
||||
|
||||
typedef struct _u3_unod {
|
||||
uv_fs_event_t was_u; // stat watcher
|
||||
c3_o dir; // c3y if dir, c3n if file
|
||||
c3_o dry; // ie, unmodified
|
||||
c3_c* pax_c; // absolute path
|
||||
struct _u3_unod* nex_u; // internal list
|
||||
struct _u3_unod* par_u; // parent
|
||||
} u3_unod;
|
||||
|
||||
typedef struct _u3_ufil {
|
||||
uv_fs_event_t was_u; // stat watcher
|
||||
c3_o dir; // c3y if dir, c3n if file
|
||||
c3_o dry; // ie, unmodified
|
||||
c3_c* pax_c; // absolute path
|
||||
struct _u3_unod* nex_u; // internal list
|
||||
c3_w sum_w; // md5sum of last %into
|
||||
c3_w mus_w; // md5sum of last %ergo
|
||||
} u3_ufil;
|
||||
|
||||
typedef struct _u3_udir {
|
||||
uv_fs_event_t was_u; // stat watcher
|
||||
c3_o dir; // c3y if dir, c3n if file
|
||||
c3_o dry; // ie, unmodified
|
||||
c3_c* pax_c; // absolute path
|
||||
struct _u3_unod* nex_u; // internal list
|
||||
u3_unod* kid_u; // subnodes
|
||||
} u3_udir;
|
||||
|
||||
typedef struct _u3_umon {
|
||||
u3_udir dir_u; // root directory
|
||||
c3_c* nam_c; // mount point name
|
||||
u3_umon* nex_u; // internal list
|
||||
} u3_umon;
|
||||
|
||||
|
||||
/* u3_usig: receive signals.
|
||||
*/
|
||||
typedef struct _u3_usig {
|
||||
@ -356,7 +394,7 @@
|
||||
*/
|
||||
typedef struct _u3_unix {
|
||||
uv_check_t syn_u; // fs sync check
|
||||
u3_uhot* hot_u; // host state
|
||||
u3_umon* mon_u; // mount points
|
||||
u3_usig* sig_u; // signal list
|
||||
#ifdef SYNCLOG
|
||||
c3_w lot_w; // sync-slot
|
||||
@ -935,17 +973,10 @@
|
||||
void
|
||||
u3_unix_ef_look(void);
|
||||
|
||||
/* u3_unix_ef_init(): update filesystem for new acquisition.
|
||||
/* u3_unix_ef_ergo(): update filesystem from urbit
|
||||
*/
|
||||
void
|
||||
u3_unix_ef_init(u3_noun who);
|
||||
|
||||
/* u3_unix_ef_ergo(): update filesystem, outbound.
|
||||
*/
|
||||
void
|
||||
u3_unix_ef_ergo(u3_noun who,
|
||||
u3_noun syd,
|
||||
u3_noun rel,
|
||||
u3_unix_ef_ergo(u3_noun mon,
|
||||
u3_noun can);
|
||||
|
||||
/* u3_unix_io_init(): initialize storage.
|
||||
|
14
v/reck.c
14
v/reck.c
@ -102,7 +102,9 @@ _reck_kick_term(u3_noun pox, c3_l tid_l, u3_noun fav)
|
||||
{
|
||||
u3A->own = u3nc(u3k(p_fav), u3A->own);
|
||||
|
||||
#ifdef DELETEME
|
||||
u3_unix_ef_init(u3k(p_fav));
|
||||
#endif
|
||||
|
||||
u3_noun hox = u3dc("scot", 'p', u3k(p_fav));
|
||||
c3_c* nam_c = u3r_string(hox);
|
||||
@ -164,12 +166,10 @@ _reck_kick_sync(u3_noun pox, u3_noun fav)
|
||||
switch ( u3h(fav) ) {
|
||||
default: break;
|
||||
case c3__ergo: {
|
||||
u3_noun who = u3k(u3h(u3t(fav)));
|
||||
u3_noun syd = u3k(u3h(u3t(u3t(fav))));
|
||||
u3_noun rel = u3k(u3h(u3t(u3t(u3t(fav)))));
|
||||
u3_noun can = u3k(u3t(u3t(u3t(u3t(fav)))));
|
||||
u3_noun mon = u3k(u3h(u3t(fav)));
|
||||
u3_noun can = u3k(u3t(u3t(fav)));
|
||||
|
||||
u3_unix_ef_ergo(who, syd, rel, can);
|
||||
u3_unix_ef_ergo(mon, can);
|
||||
u3z(pox); u3z(fav); return c3y;
|
||||
} break;
|
||||
}
|
||||
@ -208,7 +208,9 @@ _reck_kick_ames(u3_noun pox, u3_noun fav)
|
||||
{
|
||||
u3A->own = u3nc(u3k(p_fav), u3A->own);
|
||||
|
||||
#ifdef DELETEME
|
||||
u3_unix_ef_init(u3k(p_fav));
|
||||
#endif
|
||||
|
||||
// uL(fprintf(uH, "kick: init: %d\n", p_fav));
|
||||
u3z(pox); u3z(fav); return c3y;
|
||||
@ -298,7 +300,9 @@ _reck_kick_spec(u3_noun pox, u3_noun fav)
|
||||
{
|
||||
u3A->own = u3nc(u3k(p_fav), u3A->own);
|
||||
|
||||
#ifdef DELETEME
|
||||
u3_unix_ef_init(u3k(p_fav));
|
||||
#endif
|
||||
|
||||
// uL(fprintf(uH, "kick: init: %d\n", p_fav));
|
||||
u3z(pox); u3z(fav); return c3y;
|
||||
|
Loading…
Reference in New Issue
Block a user