Difference between revisions of "Peerd.c"
m |
(add comment links) |
||
Line 11: | Line 11: | ||
#include <string.h> | #include <string.h> | ||
#include <errno.h> | #include <errno.h> | ||
− | #include "util.c" // General utils, file,log,string etc | + | #include "util.c" // [[[[util.c]]]]: General utils, file,log,string etc |
// List & Node Space | // List & Node Space | ||
− | #include "listSpace.c" // listSpace and some C-specific extras: hash, trie, linked-list | + | #include "listSpace.c" // [[[[listSpace.c]]]]: listSpace and some C-specific extras: hash, trie, linked-list |
− | #include "nodeSpace.c" // NodeSpace function declarations and initialisation | + | #include "nodeSpace.c" // [[[[nodeSpace.c]]]]: NodeSpace function declarations and initialisation |
− | #include "serialise.c" // Nodal-to-text and visa-versa | + | #include "serialise.c" // [[[[serialise.c]]]]: Nodal-to-text and visa-versa |
// Interface related | // Interface related | ||
#include "SDL.h" | #include "SDL.h" | ||
#include "SDL_image.h" | #include "SDL_image.h" | ||
− | #include "interface.c" // Layer model (currently bitmap/imagemap-based) | + | #include "interface.c" // [[[[interface.c]]]]: Layer model (currently bitmap/imagemap-based) |
// Peer daemon setup | // Peer daemon setup | ||
#if __WIN32__ | #if __WIN32__ | ||
− | #include "servicate.c" | + | #include "servicate.c" // [[[[servicate.c]]]] |
#elif __APPLE__ | #elif __APPLE__ | ||
− | #include "launchd.c" | + | #include "launchd.c" // [[[[launchd.c]]]] |
#elif __unix__ | #elif __unix__ | ||
− | #include "daemonise.c" | + | #include "daemonise.c" // [[[[daemonise.c]]]] |
#endif | #endif | ||
Line 42: | Line 42: | ||
#include <fcntl.h> // O_RDWR, O_NONBLOCK, F_GETFL, F_SETFL | #include <fcntl.h> // O_RDWR, O_NONBLOCK, F_GETFL, F_SETFL | ||
#endif | #endif | ||
− | #include "io.c" | + | #include "io.c" // [[[[io.c]]]]: Main server and stream setup and functions |
int main(int argc, char **argv) { | int main(int argc, char **argv) { |
Revision as of 00:19, 18 August 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/husk.c
int this,loop,port = 32459; char *peer = "default";
- include <unistd.h>
- include <stdlib.h>
- include <stdio.h>
- include <string.h>
- include <errno.h>
- include "util.c" // [[util.c]]: General utils, file,log,string etc
// List & Node Space
- include "listSpace.c" // [[listSpace.c]]: listSpace and some C-specific extras: hash, trie, linked-list
- include "nodeSpace.c" // [[nodeSpace.c]]: NodeSpace function declarations and initialisation
- include "serialise.c" // [[serialise.c]]: Nodal-to-text and visa-versa
// Interface related
- include "SDL.h"
- include "SDL_image.h"
- include "interface.c" // [[interface.c]]: Layer model (currently bitmap/imagemap-based)
// Peer daemon setup
- if __WIN32__
- include "servicate.c" // [[servicate.c]]
- elif __APPLE__
- include "launchd.c" // [[launchd.c]]
- elif __unix__
- include "daemonise.c" // [[daemonise.c]]
- endif
// Storage & distribution related
- if __WIN32__
- include <winsock.h>
- else
- include <sys/socket.h>
- include <sys/select.h>
- include <netinet/in.h>
- include <sys/time.h> // for select()
- include <fcntl.h> // O_RDWR, O_NONBLOCK, F_GETFL, F_SETFL
- endif
- include "io.c" // [[io.c]]: Main server and stream setup and functions
int main(int argc, char **argv) { peerdInit(); // Set up as a daemon or service listInit(); // Initialise list-space and hash/trie functions nodeInit(); // Set up initial nodal structure for reduction loop args(argc,argv); // Handle command-line args and globals like peer and port interfaceInit(); // Initialise SDL surface ioInit(); // Set up listening socket on specified port
// Main nodal reduction loop logAdd("Entering nodal reduction..."); for (this=0;1;this=0) nodeReduce();
}