00001 /***************************************************************************** 00002 * Copyright 2005 Daniel Ferullo * 00003 * * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); * 00005 * you may not use this file except in compliance with the License. * 00006 * You may obtain a copy of the License at * 00007 * * 00008 * http://www.apache.org/licenses/LICENSE-2.0 * 00009 * * 00010 * Unless required by applicable law or agreed to in writing, software * 00011 * distributed under the License is distributed on an "AS IS" BASIS, * 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 00013 * See the License for the specific language governing permissions and * 00014 * limitations under the License. * 00015 * * 00016 *****************************************************************************/ 00017 00018 /** 00019 * @file helperfsm.h 00020 * @author Daniel Ferullo (ferullo@cmu.edu) 00021 * 00022 * @brief contains fsm-like functions to control protocol control flow 00023 * 00024 * The convention in these functions is at function entry, receive the next 00025 * message, then handle it, then send a message saying what happened, then 00026 * call next function in fsm 00027 */ 00028 00029 #ifndef __HELPERFSM_H__ 00030 #define __HELPERFSM_H__ 00031 00032 #include "errorcodes.h" 00033 #include "connlist.h" 00034 #include "helperdef.h" 00035 00036 /** 00037 * @brief entry point for helper fsm 00038 * 00039 * @param list pointer to the list of connection data 00040 * @param item pointer to the connection information item 00041 * @return SUCCESS, errorcode on failure 00042 */ 00043 errorcode helper_fsm_start(connlist_t *list, connlist_item_t *item); 00044 00045 #endif /* __HELPERFSM_H__ */ 00046