monitube_ipc.h

Go to the documentation of this file.
00001 /*
00002  * $Id: monitube_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 __MONITUBE_IPC_H__
00024 #define __MONITUBE_IPC_H__
00025 
00026 
00027 /*** Constants ***/
00028 
00029 
00033 #define MONITUBE_PORT_NUM 7081
00034 
00035 
00036 /*** Data Structures ***/
00037 
00038 
00043 typedef enum {
00044     MSG_DELETE_ALL_MON = 1,  
00045     MSG_DELETE_ALL_MIR,      
00046     MSG_DELETE_MON,          
00047     MSG_DELETE_MIR,          
00048     MSG_DELETE_MON_ADDR,     
00049     MSG_CONF_MON,            
00050     MSG_CONF_MIR,            
00051     MSG_CONF_MON_ADDR,       
00052     MSG_CONF_MASTER,         
00053     MSG_CONF_SLAVE,          
00054     MSG_REP_INFO             
00055 } msg_type_e;
00056 
00057 
00061 typedef struct del_mon_info_s {
00062     uint16_t    mon_name_len;  
00063     char        mon_name[0];   
00064 } del_mon_info_t;
00065 
00069 typedef struct update_mon_info_s {
00070     uint32_t    rate;          
00071     uint16_t    mon_name_len;  
00072     char        mon_name[0];   
00073 } update_mon_info_t;
00074 
00075 
00079 typedef struct del_mir_info_s {
00080     in_addr_t    mirror_from;   
00081 } del_mir_info_t;
00082 
00086 typedef struct update_mir_info_s {
00087     in_addr_t    mirror_from;   
00088     in_addr_t    mirror_to;     
00089 } update_mir_info_t;
00090 
00091 
00095 typedef struct maddr_info_s {
00096     in_addr_t   addr;          
00097     in_addr_t   mask;          
00098     uint16_t    mon_name_len;  
00099     char        mon_name[0];   
00100 } maddr_info_t;
00101 
00102 
00106 typedef struct slave_info_s {
00107     in_addr_t    master_address;   
00108 } slave_info_t;
00109 
00110 
00114 typedef struct replication_info_s {
00115     uint8_t    interval;   
00116 } replication_info_t;
00117 
00118 
00123 typedef enum {
00124     MSG_FLOW_STAT_UPDATE = 1         
00125 } update_type_e;
00126 
00127 
00131 typedef struct flow_stat_s {
00132     in_addr_t   flow_addr;    
00133     uint32_t    pad;          
00134     uint64_t    mdi_df;       
00135     uint32_t    mdi_mlr;      
00136     uint16_t    flow_port;    
00137     uint16_t    mon_name_len; 
00138     char        mon_name[0];  
00139 } flow_stat_t;
00140 
00141 #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:27:03 2010 for SDK Your Net Corporation Monitube IPTV Monitoring Example: monitube-mgmt 1.0 by Doxygen 1.5.1