Some notes about what the various files in the (poorly documented) cloud server are supposed to do and how they fit together. ----- ./usr/System/data/ This is where account information and stuff is stored on non-persistent systems. ----- ./usr/System/initd.c This appears to be what is created by DGD to kick everything off. create(): initialize the system Spins up sys/objectd, sys/errord, sys/upgraded, sys/userd. Compiles some global objects. Then tries to restore data/rsrc.dat from disk. Then tries to spin up initds in any /usr/[A-Z]* directory. prepare_reboot(): called from the driver object before a snapshot is made Does nothing. reboot(): get file quotas right after a reboot Appears to walk through the filesystem, recording the number of fileblocks used by each user and 'nil'. set_connection_manager(string type, int port, object manager): FIXME documented as "first come, first go" FIXME document later when we see it used. FIXME call_other(USERD, "set_" + type + "_manager", port, manager); ----- ./usr/System/include/tls.h Defines some TLS indexes that appear to be used by some of the /usr/System/sys daemons. ----- ./usr/System/lib/auto.c ./usr/System/lib/user.c ./usr/System/obj/objectd.c ./usr/System/obj/user.c ./usr/System/sys/errord.c ./usr/System/sys/objectd.c ./usr/System/sys/upgraded.c ./usr/System/sys/userd.c ----- ./sys/utf8encode.c ./sys/utf8decode.c ./include/std.h ./include/Time.h ./include/String.h ./include/Iterator.h ./include/config.h ./include/Continuation.h ./include/AUTO ./include/kernel/rsrc.h ./include/kernel/user.h ./include/kernel/access.h ./include/kernel/kernel.h ./include/version.h ./lib/Time.c ./lib/IntIterator.c ./lib/GMTime.c ./lib/StringBuffer.c ./lib/Continuation.c ./lib/String.c ./lib/util/ascii.c ./lib/util/unicode.c ./lib/util/base64.c ./lib/Iterator.c ./lib/ChainedContinuation.c ./lib/DelayedContinuation.c ./lib/DistContinuation.c ./lib/IterativeContinuation.c ./lib/Iterable.c ./kernel/sys/userd.c ./kernel/sys/driver.c ./kernel/sys/rsrcd.c ./kernel/sys/accessd.c ./kernel/data ./kernel/lib/auto.c ./kernel/lib/wiztool.c ./kernel/lib/user.c ./kernel/lib/api/rsrc.c ./kernel/lib/api/access.c ./kernel/lib/api/user.c ./kernel/lib/connection.c ./kernel/obj/datagram.c ./kernel/obj/binary.c ./kernel/obj/telnet.c ./kernel/obj/wiztool.c ./kernel/obj/rsrc.c ./kernel/obj/user.c ./usr/HTTP/sys/headers.c ./usr/HTTP/sys/urlencode.c ./usr/HTTP/sys/urldecode.c ./usr/HTTP/sys/requestline.c ./usr/HTTP/sys/date.c ./usr/HTTP/initd.c ./usr/HTTP/lib/Connection.c ./usr/HTTP/api/include/HttpConnection.h ./usr/HTTP/api/include/HttpHeader.h ./usr/HTTP/api/include/HttpRequest.h ./usr/HTTP/api/include/HttpResponse.h ./usr/HTTP/api/lib/Time.c ./usr/HTTP/api/lib/RemoteHeaders.c ./usr/HTTP/api/lib/Request.c ./usr/HTTP/api/lib/RemoteAuthentication.c ./usr/HTTP/api/lib/Headers.c ./usr/HTTP/api/lib/RemoteTime.c ./usr/HTTP/api/lib/HeaderItem.c ./usr/HTTP/api/lib/Header.c ./usr/HTTP/api/lib/Authentication.c ./usr/HTTP/api/lib/RemoteRequest.c ./usr/HTTP/api/obj/server.c ./usr/WWW/sys/server.c ./usr/WWW/sys/http.c ./usr/WWW/initd.c ./usr/WWW/lib/http.c ./usr/WWW/html ./usr/LPC/sys/compiler.c ./usr/LPC/sys/string.c ./usr/LPC/initd.c ./usr/LPC/api/include/code.h ./usr/LPC/api/include/expression.h ./usr/LPC/api/include/compiler.h ./usr/LPC/api/lib/parse.c ./usr/LPC/api/lib/code/for.c ./usr/LPC/api/lib/code/case.c ./usr/LPC/api/lib/code/return.c ./usr/LPC/api/lib/code/exp_array.c ./usr/LPC/api/lib/code/program.c ./usr/LPC/api/lib/code/exp_ifunc.c ./usr/LPC/api/lib/code/entry_stmt.c ./usr/LPC/api/lib/code/switch.c ./usr/LPC/api/lib/code/label.c ./usr/LPC/api/lib/code/exp_func.c ./usr/LPC/api/lib/code/variable.c ./usr/LPC/api/lib/code/case_range.c ./usr/LPC/api/lib/code/dowhile.c ./usr/LPC/api/lib/code/inherit.c ./usr/LPC/api/lib/code/stmt_exp.c ./usr/LPC/api/lib/code/rlimits.c ./usr/LPC/api/lib/code/block.c ./usr/LPC/api/lib/code/exp3.c ./usr/LPC/api/lib/code/expression.c ./usr/LPC/api/lib/code/function.c ./usr/LPC/api/lib/code/break.c ./usr/LPC/api/lib/code/exp_var.c ./usr/LPC/api/lib/code/trycatch.c ./usr/LPC/api/lib/code/continue.c ./usr/LPC/api/lib/code/exp_map.c ./usr/LPC/api/lib/code/exp_cast.c ./usr/LPC/api/lib/code/return_exp.c ./usr/LPC/api/lib/code/exp1.c ./usr/LPC/api/lib/code/code.c ./usr/LPC/api/lib/code/conditional.c ./usr/LPC/api/lib/code/exp2.c ./usr/LPC/api/lib/code/type.c ./usr/LPC/api/lib/code/statement.c ./usr/LPC/api/lib/code/declaration.c ./usr/LPC/api/lib/code/entry.c ./usr/LPC/api/lib/code/default.c ./usr/LPC/api/lib/code/goto.c ./usr/LPC/api/lib/code/exp_global.c