/***********************************************************************/ /* Course: Computer Science 402a */ /* Assignment: Assignment 3 */ /* Instructor: Mark Giesbrecht */ /* Submitted by: Dan Fraser */ /* Student Number: 001219229 */ /* Due Date: Wednesday, February 16 */ /***********************************************************************/ /* cal_server.h - Interfaces for the user server process */ /***********************************************************************/ #ifndef _CAL_SERVER_H_ #define _CAL_SERVER_H_ #include "nameserver.h" #include "StreamSocket.h" #include "HostInfo.h" #include #include #include "Meeting.h" #include "Busy.h" #include #include "globals.h" /************************************************************************ Function Name: register_me Input Parameters: ip - string ip address (dotted quad) of nameserver port - port number of nameserver (n/a in rpc version) Output Parameters: n/a Description: registers this client with the nameserver. ************************************************************************/ extern void register_me(string ip, int port); /************************************************************************ Function Name: server Input Parameters: data - void pointer - not used Output Parameters: never returns Description: main server loop/thread ************************************************************************/ extern void *server(void *data); /************************************************************************ Function Name: handle_message Input Parameters: server - our server handle rsock - integer socket identifier of remote socket buffer - characters read from the remote server so far Output Parameters: n/a Description: parses the message to the server and calls the appropriate function ************************************************************************/ extern void handle_message(StreamSocket server, int rsock, char *buffer); /************************************************************************ Function Name: meeting Input Parameters: buffer - command from client Output Parameters: returns result string Description: checks and allocates tentative meetings based on client command ************************************************************************/ extern string meeting(char *buffer); /************************************************************************ Function Name: cancel Input Parameters: buffer - command from client Output Parameters: result string Description: cancels meetings based on command from client ************************************************************************/ extern string cancel(char *buffer); /************************************************************************ Function Name: cancel_temp Input Parameters: buffer - command from client Output Parameters: result string Description: cancels tenative meetings ONLY at client request ************************************************************************/ extern string cancel_temp(char *buffer); /************************************************************************ Function Name: confirm Input Parameters: buffer - command from client Output Parameters: result string Description: marks meeting as confirmed at client request ************************************************************************/ extern string confirm(char *buffer); #endif