int fork(); int execlp(char *file, char *arg0, ...., char *argn, char * /* NULL */); int pipe(int filedes[2]); int wait(int *return_value); int dup2(int filedes, int diledes2); int close(int filedes); char *sbrk(int size); int lrand48(); /* returns a random integer. Note, it doesn't call malloc */
Pthreads
#include < pthreads.h > typedef pthread_t int; int pthread_create(pthread_t *new_thread_ID, pthread_attr_t *attr, void * (*start_func)(void *), void *arg); int pthread_join(pthread_t thread, void **value_ptr); int pthread_mutex_init(pthread_mutex_t *mp, pthread_mutexattr_t *attr); int pthread_mutex_lock(pthread_mutex_t *mp); int pthread_mutex_unlock(pthread_mutex_t *mp);
jthread.h
void jthread_system_init(); int jthread_create(void (*start_func)(void *), void *arg); void jthread_exit();
socketfun.h
extern int serve_socket(char *hn, int port); extern int accept_connection(int s); extern int request_connection(char *hn, int port);