Difference between revisions of "Peerd.c"

From Organic Design wiki
(Store the command-line args in the listSpace hash)
m
Line 12: Line 12:
  
 
#include "util.c"      // General utils, file,log,string etc
 
#include "util.c"      // General utils, file,log,string etc
#include "listSpace.c"  // ListSpace function declarations and initialisation
+
#include "listSpace.c"  // listSpace and some C-specific extras: hash, trie, linked-list
  
// Store the command-line args in the listSpace hash
+
// Store the command-line args in the listSpace hash, eg char *name = *hash("name")
 
for (i=0; i<argc; i++) {
 
for (i=0; i<argc; i++) {
 
char **arg = split('=',argv[i]);
 
char **arg = split('=',argv[i]);

Revision as of 11:41, 15 July 2006

// This article and all its includes are licenced under LGPL // GPL: http://www.gnu.org/copyleft/lesser.html // SRC: http://www.organicdesign.co.nz

  1. include <types.h>
  2. include <unistd.h>
  3. include <stdlib.h>
  4. include <stdio.h>
  5. include <string.h>

int main(int argc, char **argv) {

#include "util.c" // General utils, file,log,string etc #include "listSpace.c" // listSpace and some C-specific extras: hash, trie, linked-list

// Store the command-line args in the listSpace hash, eg char *name = *hash("name") for (i=0; i<argc; i++) { char **arg = split('=',argv[i]); *hash(arg[0]) = arg[1]; free(arg); }

#ifdef WINDOWS // Set up as a daemon or service #include "servicate.c" #else #include "daemonise.c" #endif

#include "nodeSpace.c" // NodeSpace function declarations and initialisation #include "serialise.c" // Nodal-to-text and visa-versa #include "interface.c" // Layer model (currently bitmap/imagemap-based) #include "nodalHusk.c" // Build initial nodal environment

#include "server.c" // Set up listening socket and declare serverIterate

while(nodeReduce(ROOT));

free(space);

}