equilibrium_ipc.h

Go to the documentation of this file.
00001 /*
00002  * $Id: equilibrium_ipc.h 346460 2009-11-14 05:06:47Z ssiano $
00003  *
00004  * This code is provided as is by Juniper Networks SDK Developer Support.
00005  * It is provided with no warranties or guarantees, and Juniper Networks
00006  * will not provide support or maintenance of this code in any fashion.
00007  * The code is provided only to help a developer better understand how
00008  * the SDK can be used.
00009  * 
00010  * Copyright (c) 2008, Juniper Networks, Inc.
00011  * All rights reserved.
00012  */
00013 
00023 #ifndef __EQUILIBRIUM_IPC_H__
00024 #define __EQUILIBRIUM_IPC_H__
00025 
00026 
00027 /*** Constants ***/
00028 
00029 
00033 #define EQUILIBRIUM_PORT_NUM 7080
00034 
00035 
00036 /*** Data Structures ***/
00037 
00038 
00043 typedef enum {
00044     MSG_DELETE_ALL = 1,      
00045     MSG_DELETE_SS,           
00046     MSG_DELETE_APP,          
00047     MSG_DELETE_SERVER,       
00048     MSG_DELETE_ALL_SERVERS,  
00049     MSG_CONF_APPLICATION,    
00050     MSG_CONF_SERVER          
00051 } msg_type_e;
00052 
00053 
00057 typedef struct del_svcset_info_s {
00058     uint16_t    svc_set_id;    
00059 } del_svcset_info_t;
00060 
00061 
00065 typedef struct del_app_info_s {
00066     uint16_t    svc_set_id;    
00067     uint16_t    app_name_len;  
00068     char        app_name[0];   
00069 } del_app_info_t;
00070 
00071 
00076 typedef struct server_info_s {
00077     in_addr_t   server_addr;   
00078     uint16_t    svc_set_id;    
00079     uint16_t    app_name_len;  
00080     char        app_name[0];   
00081 } server_info_t;
00082 
00083 
00088 typedef struct update_app_info_s {
00089     in_addr_t   app_addr;            
00090     uint16_t    app_port;            
00091     uint16_t    session_timeout;     
00092     uint16_t    connection_interval; 
00093     uint16_t    connection_timeout;  
00094     uint8_t     timeouts_allowed;    
00095     uint8_t     pad;                 
00096     uint16_t    down_retry_interval; 
00097     uint16_t    svc_set_id;          
00098     uint16_t    app_name_len;        
00099     char        app_name[0];         
00100 } update_app_info_t;
00101 
00102 
00107 typedef enum {
00108     MSG_SERVER_UPDATE = 1,    
00109     MSG_STATUS_UPDATE         
00110 } update_type_e;
00111 
00112 
00113 #define SERVER_STATUS_DOWN   0    
00114 #define SERVER_STATUS_UP     1    
00115 
00116 
00119 typedef struct server_status_s {
00120     uint8_t     server_status;  
00121     uint8_t     pad;            
00122     uint16_t    pad2;           
00123     in_addr_t   server_addr;    
00124     uint16_t    svc_set_id;     
00125     uint16_t    app_name_len;   
00126     char        app_name[0];    
00127 } server_status_t;
00128 
00129 
00133 typedef struct sessions_status_s {
00134     uint32_t    active_sessions;  
00135     uint16_t    svc_set_id;       
00136     uint16_t    app_name_len;     
00137     char        app_name[0];      
00138 } sessions_status_t;
00139 
00140 #endif

2007-2009 Juniper Networks, Inc. All rights reserved. The information contained herein is confidential information of Juniper Networks, Inc., and may not be used, disclosed, distributed, modified, or copied without the prior written consent of Juniper Networks, Inc. in an express license. This information is subject to change by Juniper Networks, Inc. Juniper Networks, the Juniper Networks logo, and JUNOS are registered trademarks of Juniper Networks, Inc. in the United States and other countries. All other trademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners.
Generated on Sun May 30 20:26:57 2010 for SDK Your Net Corporation Equilibrium Load Balancer Example: equilibrium-mgmt 1.0 by Doxygen 1.5.1