mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-12 15:01:38 +03:00
Merge remote-tracking branch 'origin/newunix' into test
Conflicts: urb/urbit.pill urb/zod/ape/hood.hoon
This commit is contained in:
commit
a9b7a5c0c6
0
.d/f/.gitignore → .d/jets/a/.gitignore
vendored
0
.d/f/.gitignore → .d/jets/a/.gitignore
vendored
0
.d/j/g/.gitignore → .d/noun/.gitignore
vendored
0
.d/j/g/.gitignore → .d/noun/.gitignore
vendored
0
.d/v/.gitignore
vendored
0
.d/v/.gitignore
vendored
0
.d/n/.gitignore → .d/vere/.gitignore
vendored
0
.d/n/.gitignore → .d/vere/.gitignore
vendored
353
Makefile
353
Makefile
@ -19,7 +19,7 @@ else ifeq ($(UNAME),FreeBSD)
|
||||
OS=bsd
|
||||
else ifeq ($(UNAME),OpenBSD)
|
||||
OS=bsd
|
||||
else
|
||||
else
|
||||
$(error unknown unix)
|
||||
endif
|
||||
|
||||
@ -67,7 +67,7 @@ else
|
||||
LIBS=-lssl -lcrypto -lgmp -lncurses -lsigsegv $(OSLIBS)
|
||||
endif
|
||||
|
||||
INCLUDE=i
|
||||
INCLUDE=include
|
||||
MDEFINES=-DU3_OS_$(OS) -DU3_OS_ENDIAN_$(ENDIAN) -D U3_LIB=\"$(LIB)\"
|
||||
|
||||
# NOTFORCHECKIN - restore -O3
|
||||
@ -113,165 +113,165 @@ else
|
||||
endif
|
||||
|
||||
N_OFILES=\
|
||||
n/a.o \
|
||||
n/e.o \
|
||||
n/h.o \
|
||||
n/i.o \
|
||||
n/j.o \
|
||||
n/m.o \
|
||||
n/n.o \
|
||||
n/r.o \
|
||||
n/t.o \
|
||||
n/x.o \
|
||||
n/v.o \
|
||||
n/z.o
|
||||
noun/allocate.o \
|
||||
noun/events.o \
|
||||
noun/hashtable.o \
|
||||
noun/imprison.o \
|
||||
noun/jets.o \
|
||||
noun/manage.o \
|
||||
noun/nock.o \
|
||||
noun/retrieve.o \
|
||||
noun/trace.o \
|
||||
noun/xtract.o \
|
||||
noun/vortex.o \
|
||||
noun/zave.o
|
||||
|
||||
J_A_OFILES=\
|
||||
j/a/add.o \
|
||||
j/a/dec.o \
|
||||
j/a/div.o \
|
||||
j/a/gte.o \
|
||||
j/a/gth.o \
|
||||
j/a/lte.o \
|
||||
j/a/lth.o \
|
||||
j/a/mod.o \
|
||||
j/a/mul.o \
|
||||
j/a/sub.o
|
||||
jets/a/add.o \
|
||||
jets/a/dec.o \
|
||||
jets/a/div.o \
|
||||
jets/a/gte.o \
|
||||
jets/a/gth.o \
|
||||
jets/a/lte.o \
|
||||
jets/a/lth.o \
|
||||
jets/a/mod.o \
|
||||
jets/a/mul.o \
|
||||
jets/a/sub.o
|
||||
|
||||
J_B_OFILES=\
|
||||
j/b/bind.o \
|
||||
j/b/clap.o \
|
||||
j/b/drop.o \
|
||||
j/b/flop.o \
|
||||
j/b/lent.o \
|
||||
j/b/levy.o \
|
||||
j/b/lien.o \
|
||||
j/b/need.o \
|
||||
j/b/reel.o \
|
||||
j/b/roll.o \
|
||||
j/b/skim.o \
|
||||
j/b/skip.o \
|
||||
j/b/scag.o \
|
||||
j/b/slag.o \
|
||||
j/b/snag.o \
|
||||
j/b/sort.o \
|
||||
j/b/turn.o \
|
||||
j/b/weld.o
|
||||
jets/b/bind.o \
|
||||
jets/b/clap.o \
|
||||
jets/b/drop.o \
|
||||
jets/b/flop.o \
|
||||
jets/b/lent.o \
|
||||
jets/b/levy.o \
|
||||
jets/b/lien.o \
|
||||
jets/b/need.o \
|
||||
jets/b/reel.o \
|
||||
jets/b/roll.o \
|
||||
jets/b/skim.o \
|
||||
jets/b/skip.o \
|
||||
jets/b/scag.o \
|
||||
jets/b/slag.o \
|
||||
jets/b/snag.o \
|
||||
jets/b/sort.o \
|
||||
jets/b/turn.o \
|
||||
jets/b/weld.o
|
||||
|
||||
J_C_OFILES=\
|
||||
j/c/bex.o \
|
||||
j/c/can.o \
|
||||
j/c/cap.o \
|
||||
j/c/cat.o \
|
||||
j/c/con.o \
|
||||
j/c/cut.o \
|
||||
j/c/dor.o \
|
||||
j/c/dis.o \
|
||||
j/c/end.o \
|
||||
j/c/gor.o \
|
||||
j/c/hor.o \
|
||||
j/c/lsh.o \
|
||||
j/c/mas.o \
|
||||
j/c/met.o \
|
||||
j/c/mix.o \
|
||||
j/c/mug.o \
|
||||
j/c/peg.o \
|
||||
j/c/po.o \
|
||||
j/c/rap.o \
|
||||
j/c/rip.o \
|
||||
j/c/rsh.o \
|
||||
j/c/vor.o
|
||||
jets/c/bex.o \
|
||||
jets/c/can.o \
|
||||
jets/c/cap.o \
|
||||
jets/c/cat.o \
|
||||
jets/c/con.o \
|
||||
jets/c/cut.o \
|
||||
jets/c/dor.o \
|
||||
jets/c/dis.o \
|
||||
jets/c/end.o \
|
||||
jets/c/gor.o \
|
||||
jets/c/hor.o \
|
||||
jets/c/lsh.o \
|
||||
jets/c/mas.o \
|
||||
jets/c/met.o \
|
||||
jets/c/mix.o \
|
||||
jets/c/mug.o \
|
||||
jets/c/peg.o \
|
||||
jets/c/po.o \
|
||||
jets/c/rap.o \
|
||||
jets/c/rip.o \
|
||||
jets/c/rsh.o \
|
||||
jets/c/vor.o
|
||||
|
||||
J_D_OFILES=\
|
||||
j/d/in_has.o \
|
||||
j/d/in_int.o \
|
||||
j/d/in_gas.o \
|
||||
j/d/in_mer.o \
|
||||
j/d/in_put.o \
|
||||
j/d/in_tap.o \
|
||||
j/d/in_uni.o \
|
||||
j/d/by_gas.o \
|
||||
j/d/by_get.o \
|
||||
j/d/by_has.o \
|
||||
j/d/by_int.o \
|
||||
j/d/by_put.o \
|
||||
j/d/by_uni.o
|
||||
jets/d/in_has.o \
|
||||
jets/d/in_int.o \
|
||||
jets/d/in_gas.o \
|
||||
jets/d/in_mer.o \
|
||||
jets/d/in_put.o \
|
||||
jets/d/in_tap.o \
|
||||
jets/d/in_uni.o \
|
||||
jets/d/by_gas.o \
|
||||
jets/d/by_get.o \
|
||||
jets/d/by_has.o \
|
||||
jets/d/by_int.o \
|
||||
jets/d/by_put.o \
|
||||
jets/d/by_uni.o
|
||||
|
||||
J_E_OFILES=\
|
||||
j/e/aesc.o \
|
||||
j/e/cue.o \
|
||||
j/e/jam.o \
|
||||
j/e/mat.o \
|
||||
j/e/mink.o \
|
||||
j/e/mule.o \
|
||||
j/e/parse.o \
|
||||
j/e/rd.o \
|
||||
j/e/repg.o \
|
||||
j/e/rexp.o \
|
||||
j/e/rub.o \
|
||||
j/e/scr.o \
|
||||
j/e/shax.o \
|
||||
j/e/lore.o \
|
||||
j/e/loss.o \
|
||||
j/e/trip.o
|
||||
jets/e/aesc.o \
|
||||
jets/e/cue.o \
|
||||
jets/e/jam.o \
|
||||
jets/e/mat.o \
|
||||
jets/e/mink.o \
|
||||
jets/e/mule.o \
|
||||
jets/e/parse.o \
|
||||
jets/e/rd.o \
|
||||
jets/e/repg.o \
|
||||
jets/e/rexp.o \
|
||||
jets/e/rub.o \
|
||||
jets/e/scr.o \
|
||||
jets/e/shax.o \
|
||||
jets/e/lore.o \
|
||||
jets/e/loss.o \
|
||||
jets/e/trip.o
|
||||
|
||||
J_E_OFILES_ED=\
|
||||
j/e/ed_puck.o \
|
||||
j/e/ed_sign.o \
|
||||
j/e/ed_veri.o
|
||||
jets/e/ed_puck.o \
|
||||
jets/e/ed_sign.o \
|
||||
jets/e/ed_veri.o
|
||||
|
||||
J_F_OFILES=\
|
||||
j/f/al.o \
|
||||
j/f/ap.o \
|
||||
j/f/bull.o \
|
||||
j/f/cell.o \
|
||||
j/f/comb.o \
|
||||
j/f/cons.o \
|
||||
j/f/core.o \
|
||||
j/f/cube.o \
|
||||
j/f/face.o \
|
||||
j/f/fitz.o \
|
||||
j/f/flan.o \
|
||||
j/f/flay.o \
|
||||
j/f/flip.o \
|
||||
j/f/flor.o \
|
||||
j/f/fork.o \
|
||||
j/f/hike.o \
|
||||
j/f/look.o \
|
||||
jets/f/al.o \
|
||||
jets/f/ap.o \
|
||||
jets/f/bull.o \
|
||||
jets/f/cell.o \
|
||||
jets/f/comb.o \
|
||||
jets/f/cons.o \
|
||||
jets/f/core.o \
|
||||
jets/f/cube.o \
|
||||
jets/f/face.o \
|
||||
jets/f/fitz.o \
|
||||
jets/f/flan.o \
|
||||
jets/f/flay.o \
|
||||
jets/f/flip.o \
|
||||
jets/f/flor.o \
|
||||
jets/f/fork.o \
|
||||
jets/f/hike.o \
|
||||
jets/f/look.o \
|
||||
|
||||
J_F_OFILES_UT=\
|
||||
j/f/ut.o \
|
||||
j/f/ut_burn.o \
|
||||
j/f/ut_busk.o \
|
||||
j/f/ut_bust.o \
|
||||
j/f/ut_conk.o \
|
||||
j/f/ut_crop.o \
|
||||
j/f/ut_cull.o \
|
||||
j/f/ut_find.o \
|
||||
j/f/ut_fink.o \
|
||||
j/f/ut_fire.o \
|
||||
j/f/ut_firm.o \
|
||||
j/f/ut_fish.o \
|
||||
j/f/ut_fuse.o \
|
||||
j/f/ut_gain.o \
|
||||
j/f/ut_heal.o \
|
||||
j/f/ut_lose.o \
|
||||
j/f/ut_mint.o \
|
||||
j/f/ut_mull.o \
|
||||
j/f/ut_nest.o \
|
||||
j/f/ut_park.o \
|
||||
j/f/ut_peek.o \
|
||||
j/f/ut_play.o \
|
||||
j/f/ut_repo.o \
|
||||
j/f/ut_rest.o \
|
||||
j/f/ut_seek.o \
|
||||
j/f/ut_swab.o \
|
||||
j/f/ut_tack.o \
|
||||
j/f/ut_tock.o \
|
||||
j/f/ut_wrap.o
|
||||
jets/f/ut.o \
|
||||
jets/f/ut_burn.o \
|
||||
jets/f/ut_busk.o \
|
||||
jets/f/ut_bust.o \
|
||||
jets/f/ut_conk.o \
|
||||
jets/f/ut_crop.o \
|
||||
jets/f/ut_cull.o \
|
||||
jets/f/ut_find.o \
|
||||
jets/f/ut_fink.o \
|
||||
jets/f/ut_fire.o \
|
||||
jets/f/ut_firm.o \
|
||||
jets/f/ut_fish.o \
|
||||
jets/f/ut_fuse.o \
|
||||
jets/f/ut_gain.o \
|
||||
jets/f/ut_heal.o \
|
||||
jets/f/ut_lose.o \
|
||||
jets/f/ut_mint.o \
|
||||
jets/f/ut_mull.o \
|
||||
jets/f/ut_nest.o \
|
||||
jets/f/ut_park.o \
|
||||
jets/f/ut_peek.o \
|
||||
jets/f/ut_play.o \
|
||||
jets/f/ut_repo.o \
|
||||
jets/f/ut_rest.o \
|
||||
jets/f/ut_seek.o \
|
||||
jets/f/ut_swab.o \
|
||||
jets/f/ut_tack.o \
|
||||
jets/f/ut_tock.o \
|
||||
jets/f/ut_wrap.o
|
||||
|
||||
J_G_OFILES=\
|
||||
j/g/down.o
|
||||
jets/g/down.o
|
||||
|
||||
J_OFILES=\
|
||||
$(J_A_OFILES) \
|
||||
@ -283,7 +283,7 @@ J_OFILES=\
|
||||
$(J_F_OFILES) \
|
||||
$(J_F_OFILES_UT) \
|
||||
$(J_G_OFILES) \
|
||||
j/tree.o
|
||||
jets/tree.o
|
||||
|
||||
BASE_OFILES=$(N_OFILES) $(J_OFILES)
|
||||
|
||||
@ -294,25 +294,25 @@ OUT_OFILES=\
|
||||
outside/jhttp/http_parser.o
|
||||
|
||||
V_OFILES=\
|
||||
v/ames.o \
|
||||
v/cttp.o \
|
||||
v/http.o \
|
||||
v/loop.o \
|
||||
v/raft.o \
|
||||
v/reck.o \
|
||||
v/sist.o \
|
||||
v/temp.o \
|
||||
v/term.o \
|
||||
v/time.o \
|
||||
v/unix.o \
|
||||
v/save.o \
|
||||
v/walk.o
|
||||
vere/ames.o \
|
||||
vere/behn.o \
|
||||
vere/cttp.o \
|
||||
vere/http.o \
|
||||
vere/loop.o \
|
||||
vere/raft.o \
|
||||
vere/reck.o \
|
||||
vere/sist.o \
|
||||
vere/term.o \
|
||||
vere/time.o \
|
||||
vere/unix.o \
|
||||
vere/save.o \
|
||||
vere/walk.o
|
||||
|
||||
MAIN_FILE =\
|
||||
v/main.o
|
||||
vere/main.o
|
||||
|
||||
MEME_FILE =\
|
||||
w/test.o
|
||||
tests/test.o
|
||||
|
||||
VERE_OFILES=\
|
||||
$(CRE2_OFILES) \
|
||||
@ -332,19 +332,19 @@ VERE_DFILES=$(VERE_OFILES:%.o=.d/%.d)
|
||||
-include $(VERE_DFILES)
|
||||
|
||||
# This is a silly hack necessitated by the fact that libuv uses configure
|
||||
#
|
||||
# * Making 'all' obviously requires outside/libuv,
|
||||
#
|
||||
# * Making 'all' obviously requires outside/libuv,
|
||||
# which requires the libuv Makefile to be created.
|
||||
# * Making distclean on outside/libuv destroys the makefile.
|
||||
# * ...so configuring outside/libuv is parodoxically required
|
||||
# * ...so configuring outside/libuv is parodoxically required
|
||||
# in order to distclean it!
|
||||
# * But what if developer types 'make distclean all' ?
|
||||
# * first target makes libuv Makefile, then destroys it...and
|
||||
# * first target makes libuv Makefile, then destroys it...and
|
||||
# second target knows that it was made.
|
||||
# * ...so second target borks.
|
||||
# * Solution: make libuv not only depend on its own Makefile,
|
||||
# * Solution: make libuv not only depend on its own Makefile,
|
||||
# but on a side effect of creating its own makefile.
|
||||
#
|
||||
#
|
||||
LIBUV_MAKEFILE=outside/libuv_0.11/Makefile
|
||||
LIBUV_MAKEFILE2=outside/libuv_0.11/config.log
|
||||
|
||||
@ -375,8 +375,23 @@ meme: $(BIN)/meme
|
||||
$(LIBUV_MAKEFILE) $(LIBUV_MAKEFILE2):
|
||||
cd outside/libuv_0.11 ; sh autogen.sh ; ./configure --disable-dtrace
|
||||
|
||||
# [h]act II: the plot thickens
|
||||
#
|
||||
# * Specifying two targets that each configure libuv works
|
||||
# when the rules are executed sequentially,
|
||||
# * but when attempting a parallel build, it is likely Make
|
||||
# will try to configure libuv simultaneously.
|
||||
# * We can specify a dependency between the two targets so
|
||||
# that execution of their rule(s) is serialized.
|
||||
# * Further, libuv does not seem to be friendly towards
|
||||
# parallel builds either. A true fix is out of scope here
|
||||
# * ...so we must instruct Make to only use one job when it
|
||||
# attempts to build libuv.
|
||||
#
|
||||
$(LIBUV_MAKEFILE2): $(LIBUV_MAKEFILE)
|
||||
|
||||
$(LIBUV): $(LIBUV_MAKEFILE) $(LIBUV_MAKEFILE2)
|
||||
$(MAKE) -C outside/libuv_0.11 all-am
|
||||
$(MAKE) -C outside/libuv_0.11 all-am -j1
|
||||
|
||||
$(LIBRE2):
|
||||
$(MAKE) -C outside/re2 obj/libre2.a
|
||||
@ -396,7 +411,7 @@ $(LIBSCRYPT):
|
||||
$(CRE2_OFILES): outside/cre2/src/src/cre2.cpp outside/cre2/src/src/cre2.h $(LIBRE2)
|
||||
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
|
||||
$(V_OFILES): i/v/vere.h
|
||||
$(V_OFILES): include/vere/vere.h
|
||||
|
||||
ifdef NO_SILENT_RULES
|
||||
$(BIN)/urbit: $(LIBCRE) $(LIBCOMMONMARK) $(VERE_OFILES) $(LIBUV) $(LIBRE2) $(LIBED25519) $(LIBANACHRONISM) $(LIBSCRYPT)
|
||||
@ -438,9 +453,11 @@ debinstall:
|
||||
cp urb/urbit.pill $(DESTDIR)/usr/share/urb
|
||||
cp -R urb/zod $(DESTDIR)/usr/share/urb
|
||||
|
||||
clean:
|
||||
clean:
|
||||
$(RM) $(VERE_OFILES) $(BIN)/urbit urbit.pkg $(VERE_DFILES)
|
||||
|
||||
# 'make distclean all -jn' ∀ n>1 still does not work because it is possible
|
||||
# Make will attempt to build urbit while it is also cleaning urbit..
|
||||
distclean: clean $(LIBUV_MAKEFILE)
|
||||
$(MAKE) -C outside/libuv_0.11 distclean
|
||||
$(MAKE) -C outside/re2 clean
|
||||
|
@ -39,9 +39,10 @@ urbit depends on:
|
||||
|
||||
sudo apt-get install libgmp3-dev libsigsegv-dev openssl libssl-dev libncurses5-dev git make exuberant-ctags automake autoconf libtool g++ ragel cmake re2c
|
||||
|
||||
*note: http requests are not supported on either debian wheezy or jessie due to an ssl issue*
|
||||
#### Fedora
|
||||
|
||||
sudo yum install gcc gcc-c++ git gmp-devel openssl-devel openssl ncurses-devel libsigsegv-devel ctags automake autoconf libtool cmake re2c
|
||||
sudo dnf install gcc gcc-c++ git gmp-devel openssl-devel openssl ncurses-devel libsigsegv-devel ctags automake autoconf libtool ragel cmake re2c
|
||||
|
||||
#### AWS
|
||||
|
||||
@ -108,9 +109,13 @@ Basics
|
||||
`^v` will switch between the task manager and the focussed process. `^x`
|
||||
will switch between processes.
|
||||
|
||||
To start a process that is not yet started run `*proc` from the task
|
||||
To start a process that is not yet started, run `*proc` from the task
|
||||
manager.
|
||||
|
||||
To connect your console to a process that has already been started, run `+proc`
|
||||
from the task manager. Note that the process must be one that supports console
|
||||
access, such as dojo and talk.
|
||||
|
||||
`^d` will exit the pier from the task manager. No matter how you shut
|
||||
your urbit down you'll be returned to exactly the same state as when you
|
||||
turned it off.
|
||||
|
2
debian/control
vendored
2
debian/control
vendored
@ -2,7 +2,7 @@ Source: urbit
|
||||
Section: unknown
|
||||
Priority: extra
|
||||
Maintainer: Urbit <urbit@urbit.org>
|
||||
Build-Depends: debhelper (>= 8.0.0), libssl-dev, libncurses5-dev, libgmp-dev, libsigsegv-dev, ragel
|
||||
Build-Depends: debhelper (>= 8.0.0), libssl-dev, libncurses5-dev, libgmp-dev, libsigsegv-dev, ragel, cmake
|
||||
Standards-Version: 3.9.3
|
||||
Homepage: http://urbit.org/
|
||||
|
||||
|
32
i/all.h
32
i/all.h
@ -1,32 +0,0 @@
|
||||
/* include/all.h
|
||||
**
|
||||
** This file is in the public domain.
|
||||
*/
|
||||
/** c3: C environment.
|
||||
**/
|
||||
# include "c/portable.h" // C and OS portability
|
||||
# include "c/types.h" // c3 types
|
||||
# include "c/defs.h" // c3 macros
|
||||
# include "c/motes.h" // c3 constants
|
||||
|
||||
/** u3: noun environment.
|
||||
**/
|
||||
# include "n/u.h" // general u3
|
||||
|
||||
# include "n/a.h" // u3a: allocation
|
||||
# include "n/e.h" // u3e: persistence
|
||||
# include "n/h.h" // u3h: hashtables
|
||||
# include "n/i.h" // u3i: noun construction
|
||||
# include "n/j.h" // u3j: jet control
|
||||
# include "n/m.h" // u3m: master state
|
||||
# include "n/n.h" // u3n: nock execution
|
||||
# include "n/o.h" // u3o: config options
|
||||
# include "n/r.h" // u3r: noun access (error returns)
|
||||
# include "n/t.h" // u3t: profiling / tracing
|
||||
# include "n/x.h" // u3x: noun access (error crashes)
|
||||
# include "n/v.h" // u3v: arvo kernel
|
||||
# include "n/z.h" // u3z: memoization
|
||||
|
||||
# include "j/k.h" // u3k: jets (transfer, args)
|
||||
# include "j/q.h" // u3q: jets (retain, args)
|
||||
# include "j/w.h" // u3w: jets (retain, core)
|
32
include/all.h
Normal file
32
include/all.h
Normal file
@ -0,0 +1,32 @@
|
||||
/* include/all.h
|
||||
**
|
||||
** This file is in the public domain.
|
||||
*/
|
||||
/** c3: C environment.
|
||||
**/
|
||||
# include "c/portable.h" // C and OS portability
|
||||
# include "c/types.h" // c3 types
|
||||
# include "c/defs.h" // c3 macros
|
||||
# include "c/motes.h" // c3 constants
|
||||
|
||||
/** u3: noun environment.
|
||||
**/
|
||||
# include "noun/aliases.h" // general u3
|
||||
|
||||
# include "noun/allocate.h" // u3a: allocation
|
||||
# include "noun/events.h" // u3e: persistence
|
||||
# include "noun/hashtable.h" // u3h: hashtables
|
||||
# include "noun/imprison.h" // u3i: noun construction
|
||||
# include "noun/jets.h" // u3j: jet control
|
||||
# include "noun/manage.h" // u3m: master state
|
||||
# include "noun/nock.h" // u3n: nock execution
|
||||
# include "noun/options.h" // u3o: config options
|
||||
# include "noun/retrieve.h" // u3r: noun access (error returns)
|
||||
# include "noun/trace.h" // u3t: profiling / tracing
|
||||
# include "noun/xtract.h" // u3x: noun access (error crashes)
|
||||
# include "noun/vortex.h" // u3v: arvo kernel
|
||||
# include "noun/zave.h" // u3z: memoization
|
||||
|
||||
# include "jets/k.h" // u3k: jets (transfer, args)
|
||||
# include "jets/q.h" // u3q: jets (retain, args)
|
||||
# include "jets/w.h" // u3w: jets (retain, core)
|
@ -99,6 +99,7 @@
|
||||
# define c3__bong c3_s4('b','o','n','g')
|
||||
# define c3__book c3_s4('b','o','o','k')
|
||||
# define c3__bool c3_s4('b','o','o','l')
|
||||
# define c3__boat c3_s4('b','o','a','t')
|
||||
# define c3__boot c3_s4('b','o','o','t')
|
||||
# define c3__born c3_s4('b','o','r','n')
|
||||
# define c3__both c3_s4('b','o','t','h')
|
||||
@ -489,6 +490,7 @@
|
||||
# define c3__hide c3_s4('h','i','d','e')
|
||||
# define c3__high c3_s4('h','i','g','h')
|
||||
# define c3__hike c3_s4('h','i','k','e')
|
||||
# define c3__hill c3_s4('h','i','l','l')
|
||||
# define c3__hind c3_s4('h','i','n','d')
|
||||
# define c3__hint c3_s4('h','i','n','t')
|
||||
# define c3__hit c3_s3('h','i','t')
|
||||
@ -734,6 +736,7 @@
|
||||
# define c3__oak c3_s3('o','a','k')
|
||||
# define c3__of c3_s2('o','f')
|
||||
# define c3__off c3_s3('o','f','f')
|
||||
# define c3__ogre c3_s4('o','g','r','e')
|
||||
# define c3__old c3_s3('o','l','d')
|
||||
# define c3__on c3_s2('o','n')
|
||||
# define c3__onan c3_s4('o','n','a','n')
|
||||
@ -1016,7 +1019,6 @@
|
||||
# define c3__teal c3_s4('t','e','a','l')
|
||||
# define c3__teck c3_s4('t','e','c','k')
|
||||
# define c3__tell c3_s4('t','e','l','l')
|
||||
# define c3__temp c3_s4('t','e','m','p')
|
||||
# define c3__terg c3_s4('t','e','r','g')
|
||||
# define c3__term c3_s4('t','e','r','m')
|
||||
# define c3__test c3_s4('t','e','s','t')
|
@ -54,6 +54,14 @@
|
||||
u3r_mug_words(const c3_w *buf_w,
|
||||
c3_w len_w);
|
||||
|
||||
/* u3r_mug_bytes():
|
||||
**
|
||||
** Compute the mug of `buf`, `len`, LSW first.
|
||||
*/
|
||||
c3_w
|
||||
u3r_mug_bytes(const c3_y *buf_w,
|
||||
c3_w len_w);
|
||||
|
||||
/* u3r_mug_cell():
|
||||
**
|
||||
** Compute the mug of `[a b]`.
|
@ -293,56 +293,53 @@
|
||||
c3_d len_d; // length in words
|
||||
} u3_ulog;
|
||||
|
||||
struct _u3_uhot;
|
||||
struct _u3_umon;
|
||||
struct _u3_udir;
|
||||
struct _u3_ufil;
|
||||
|
||||
/* u3_unod: in-file or in-directory.
|
||||
/* u3_unod: file or directory.
|
||||
*/
|
||||
typedef struct _u3_unod {
|
||||
uv_fs_event_t was_u; // stat watcher
|
||||
c3_o dir; // always
|
||||
c3_o dry; // ie, unmodified
|
||||
c3_c* pax_c; // in absolute path
|
||||
c3_c* pot_c; // out absolute path
|
||||
struct _u3_udir* par_u; // directory
|
||||
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_udir* par_u; // parent
|
||||
struct _u3_unod* nex_u; // internal list
|
||||
} u3_unod;
|
||||
|
||||
/* u3_ufil: synchronized in-file.
|
||||
|
||||
/* u3_ufil: synchronized file.
|
||||
*/
|
||||
typedef struct _u3_ufil {
|
||||
uv_fs_event_t was_u; // stat watcher
|
||||
c3_o non; // always u3_no
|
||||
c3_o dry; // ie, unmodified
|
||||
c3_c* pax_c; // in absolute path
|
||||
c3_c* pot_c; // out absolute path
|
||||
struct _u3_udir* par_u; // directory
|
||||
c3_c* dot_c; // extension point or 0
|
||||
c3_w mod_w[4]; // mtime
|
||||
struct _u3_ufil* nex_u; // internal list
|
||||
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_udir* par_u; // parent
|
||||
struct _u3_unod* nex_u; // internal list
|
||||
c3_w mug_w; // mug of last %into
|
||||
c3_w gum_w; // mug of last %ergo
|
||||
} u3_ufil;
|
||||
|
||||
/* u3_udir: synchronized in-directory.
|
||||
|
||||
/* u3_ufil: synchronized directory.
|
||||
*/
|
||||
typedef struct _u3_udir {
|
||||
uv_fs_event_t was_u; // stat watcher
|
||||
c3_o yes; // always u3_yes
|
||||
c3_o dry; // ie, unmodified
|
||||
c3_c* pax_c; // in absolute path
|
||||
c3_c* pot_c; // out absolute path
|
||||
struct _u3_udir* par_u; // parent directory
|
||||
struct _u3_udir* dis_u; // subdirectories
|
||||
struct _u3_ufil* fil_u; // files
|
||||
struct _u3_udir* nex_u; // internal list
|
||||
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_udir* par_u; // parent
|
||||
struct _u3_unod* nex_u; // internal list
|
||||
u3_unod* kid_u; // subnodes
|
||||
} u3_udir;
|
||||
|
||||
/* u3_uhot: synchronized host.
|
||||
/* u3_ufil: synchronized mount point.
|
||||
*/
|
||||
typedef struct _u3_uhot {
|
||||
u3_udir dir_u; // in directory
|
||||
c3_w who_w[4]; // owner as words
|
||||
struct _u3_uhot* nex_u; // internal list
|
||||
} u3_uhot;
|
||||
typedef struct _u3_umon {
|
||||
u3_udir dir_u; // root directory, must be first
|
||||
c3_c* nam_c; // mount point name
|
||||
struct _u3_umon* nex_u; // internal list
|
||||
} u3_umon;
|
||||
|
||||
/* u3_usig: receive signals.
|
||||
*/
|
||||
@ -355,9 +352,12 @@
|
||||
/* u3_unix: clay support system, also
|
||||
*/
|
||||
typedef struct _u3_unix {
|
||||
uv_check_t syn_u; // fs sync check
|
||||
u3_uhot* hot_u; // host state
|
||||
u3_usig* sig_u; // signal list
|
||||
uv_check_t syn_u; // fs sync check
|
||||
uv_timer_t tim_u; // timer
|
||||
u3_umon* mon_u; // mount points
|
||||
u3_usig* sig_u; // signal list
|
||||
c3_o alm; // timer set
|
||||
c3_o dyr; // ready to update
|
||||
#ifdef SYNCLOG
|
||||
c3_w lot_w; // sync-slot
|
||||
struct _u3_sylo {
|
||||
@ -369,13 +369,13 @@
|
||||
#endif
|
||||
} u3_unix;
|
||||
|
||||
/* u3_temp: just a timer for ever
|
||||
/* u3_behn: just a timer for ever
|
||||
*/
|
||||
typedef struct _u3_temp {
|
||||
uv_timer_t tim_u; // temp timer
|
||||
typedef struct _u3_behn {
|
||||
uv_timer_t tim_u; // behn timer
|
||||
c3_w run_w; // run of consecutive alarms
|
||||
c3_o alm; // alarm
|
||||
} u3_temp;
|
||||
} u3_behn;
|
||||
|
||||
/* u2_utfo: unix terminfo strings.
|
||||
*/
|
||||
@ -547,7 +547,7 @@
|
||||
*/
|
||||
typedef struct _u3_host {
|
||||
c3_w kno_w; // current executing stage
|
||||
c3_c* dir_c; // pier path
|
||||
c3_c* dir_c; // pier path (no trailing /)
|
||||
c3_d now_d; // event tick
|
||||
uv_loop_t* lup_u; // libuv event loop
|
||||
u3_http* htp_u; // http servers
|
||||
@ -558,7 +558,7 @@
|
||||
u3_save sav_u; // autosave
|
||||
u3_opts ops_u; // commandline options
|
||||
u3_unix unx_u; // sync and clay
|
||||
u3_temp teh_u; // temp timer
|
||||
u3_behn teh_u; // behn timer
|
||||
c3_o liv; // if u3_no, shut down
|
||||
c3_i xit_i; // exit code for shutdown
|
||||
void* ssl_u; // struct SSL_CTX*
|
||||
@ -930,23 +930,30 @@
|
||||
void
|
||||
u3_unix_ef_move();
|
||||
|
||||
/* u3_unix_ef_look(): update filesystem, inbound.
|
||||
/* u3_unix_initial_into(): intialize filesystem from urb/zod
|
||||
*/
|
||||
void
|
||||
u3_unix_ef_look(void);
|
||||
u3_unix_ef_initial_into();
|
||||
|
||||
/* u3_unix_ef_init(): update filesystem for new acquisition.
|
||||
/* u3_unix_ef_look(): update filesystem from unix
|
||||
*/
|
||||
void
|
||||
u3_unix_ef_init(u3_noun who);
|
||||
u3_unix_ef_look(u3_noun all);
|
||||
|
||||
/* u3_unix_ef_ergo(): update filesystem, outbound.
|
||||
/* u3_unix_ef_ergo(): update filesystem from urbit
|
||||
*/
|
||||
void
|
||||
u3_unix_ef_ergo(u3_noun who,
|
||||
u3_noun syd,
|
||||
u3_noun rel,
|
||||
u3_noun can);
|
||||
u3_unix_ef_ergo(u3_noun mon, u3_noun can);
|
||||
|
||||
/* u3_unix_ef_ogre(): delete mount point
|
||||
*/
|
||||
void
|
||||
u3_unix_ef_ogre(u3_noun mon);
|
||||
|
||||
/* u3_unix_ef_ogre(): delete mount point
|
||||
*/
|
||||
void
|
||||
u3_unix_ef_hill(u3_noun hil);
|
||||
|
||||
/* u3_unix_io_init(): initialize storage.
|
||||
*/
|
||||
@ -969,22 +976,22 @@
|
||||
u3_unix_io_poll(void);
|
||||
|
||||
|
||||
/** Temp, just a timer.
|
||||
/** behn, just a timer.
|
||||
**/
|
||||
/* u2_temp_io_init(): initialize temp timer.
|
||||
/* u2_behn_io_init(): initialize behn timer.
|
||||
*/
|
||||
void
|
||||
u2_temp_io_init(void);
|
||||
u2_behn_io_init(void);
|
||||
|
||||
/* u2_temp_io_exit(): terminate timer.
|
||||
/* u2_behn_io_exit(): terminate timer.
|
||||
*/
|
||||
void
|
||||
u2_temp_io_exit(void);
|
||||
u2_behn_io_exit(void);
|
||||
|
||||
/* u2_temp_io_poll(): update temp IO state.
|
||||
/* u2_behn_io_poll(): update behn IO state.
|
||||
*/
|
||||
void
|
||||
u2_temp_io_poll(void);
|
||||
u2_behn_io_poll(void);
|
||||
|
||||
|
||||
/** HTTP server.
|
||||
@ -1118,20 +1125,20 @@
|
||||
|
||||
/** New timer system.
|
||||
**/
|
||||
/* u3_temp_io_init(): initialize time timer.
|
||||
/* u3_behn_io_init(): initialize time timer.
|
||||
*/
|
||||
void
|
||||
u3_temp_io_init(void);
|
||||
u3_behn_io_init(void);
|
||||
|
||||
/* u3_temp_io_exit(): terminate timer.
|
||||
/* u3_behn_io_exit(): terminate timer.
|
||||
*/
|
||||
void
|
||||
u3_temp_io_exit(void);
|
||||
u3_behn_io_exit(void);
|
||||
|
||||
/* u3_temp_io_poll(): update temp IO state.
|
||||
/* u3_behn_io_poll(): update behn IO state.
|
||||
*/
|
||||
void
|
||||
u3_temp_io_poll(void);
|
||||
u3_behn_io_poll(void);
|
||||
|
||||
|
||||
/** HTTP client.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user