/* -*- Mode: C -*- */ /*====================================================================== FILE: icalcstp.h CREATOR: eric 20 April 1999 $Id$ (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org This program is free software; you can redistribute it and/or modify it under the terms of either: The LGPL as published by the Free Software Foundation, version 2.1, available at: http://www.fsf.org/copyleft/lesser.html Or: The Mozilla Public License Version 1.0. You may obtain a copy of the License at http://www.mozilla.org/MPL/ The original code is icalcstp.h ======================================================================*/ #ifndef ICALCSTP_H #define ICALCSTP_H #include "ical.h" /* Connection state, from the state machine in RFC2445 */ enum cstps_state { NO_STATE, CONNECTED, AUTHENTICATED, IDENTIFIED, DISCONNECTED, RECEIVE }; /* CSTP Commands that a client can issue to a server */ typedef enum icalcstp_command { ICAL_ABORT_COMMAND, ICAL_AUTHENTICATE_COMMAND, ICAL_CAPABILITY_COMMAND, ICAL_CONTINUE_COMMAND, ICAL_CALIDEXPAND_COMMAND, ICAL_IDENTIFY_COMMAND, ICAL_DISCONNECT_COMMAND, ICAL_SENDDATA_COMMAND, ICAL_STARTTLS_COMMAND, ICAL_UPNEXPAND_COMMAND, ICAL_COMPLETE_COMMAND, ICAL_UNKNOWN_COMMAND } icalcstp_command; /* A statement is a combination of command or response code and a component that the server and client exchage with each other. */ struct icalcstp_statement { icalcstp_command command; char* str_data; /* If non-NUll use as arguments to command */ int int_data; /* If non-NULL use as arguments to command */ icalrequeststatus code; icalcomponent* data; }; const char* icalcstp_command_to_string(icalcstp_command command); icalcstp_command icalcstp_string_to_command(const char* str); #endif /* !ICALCSTP_H */