00001 #include "sae.idl" 00002 00003 #pragma prefix "smgt.juniper.net" 00004 00005 module event { 00009 exception UnknownRouter { 00010 string message; 00011 }; 00012 00016 exception IllegalArgument { 00017 string message; 00018 }; 00019 00024 enum EventAttribute { 00025 EA_INTERFACE_NAME, 00028 00029 EA_SESSION_ID, 00032 00033 EA_IF_ALIAS, 00036 00037 EA_IF_DESCR, 00040 00041 EA_IF_INDEX, 00044 00045 EA_NAS_PORT_ID, 00048 00049 EA_NAS_PORT, 00052 00053 EA_NAS_IP, 00056 00057 EA_RADIUS_CLASS, 00060 00061 EA_SERVICE_BUNDLE, 00064 00065 EA_LOGIN_NAME, 00068 00069 EA_IP_ADDRESS, 00073 00074 EA_IP_MASK, 00077 00078 EA_MTU, 00081 00082 EA_BROADCAST_ADDR, 00085 00086 EA_INTERFACE_SPEED, 00089 00090 EA_MAC_ADDRESS, 00093 00094 EA_DHCP_PACKET, 00099 00100 EA_LOGIN_TYPE, 00104 00105 EA_USER_IP_ADDRESS, 00111 00112 EA_INTERFACE_TYPE, 00115 00116 EA_TUNNEL_SERVER_IP_ADDRESS, 00119 00120 EA_TUNNEL_SERVER_IP_MASK, 00123 00124 EA_TUNNEL_ID, 00127 00128 EA_TUNNEL_SESSION_ID, 00131 00132 EA_CALLING_STATION_ID, 00135 00136 EA_LOCAL_QOS_PROFILE, 00139 00140 EA_FRAMED_IPV6_PREFIX, 00143 00144 EA_DELEGATED_IPV6_PREFIX 00147 00148 }; 00149 00153 enum EventAttributeType { 00154 EAT_LONG, 00155 EAT_LONG_LONG, 00156 EAT_STRING, 00157 EAT_OPAQUE 00158 }; 00159 00163 union AttributeUnion switch(EventAttributeType) { 00164 case EAT_LONG: 00165 long longVal; 00166 case EAT_LONG_LONG: 00167 long long longLongVal; 00168 case EAT_STRING: 00169 string stringVal; 00170 case EAT_OPAQUE: 00171 sequence<octet> opaqueVal; 00172 }; 00173 00177 struct EventAttr { 00178 EventAttribute type; 00179 AttributeUnion value; 00180 }; 00181 00185 typedef sequence<EventAttr> EventAttrSeq; 00186 00190 typedef sequence<EventAttrSeq> EventAttrSeqSeq; 00191 00196 typedef sequence<octet> InetAddress; 00197 00201 typedef sequence<InetAddress> InetAddressSeq; 00202 00203 00209 interface RouterListener { 00220 void routerUp(in string routerName, 00221 in string saeId); 00222 00233 void routerDown(in string routerName, 00234 in string saeId); 00235 }; 00236 00242 interface EventNotification: sae::SAEFeature { 00292 boolean ipUp(in string routerName, 00293 in InetAddress ipAddress, 00294 in long sessionTimeout, 00295 in EventAttrSeq attributes) 00296 raises(UnknownRouter, IllegalArgument); 00297 00321 boolean ipDown(in string routerName, 00322 in InetAddress ipAddress, 00323 in EventAttrSeq attributes) 00324 raises(UnknownRouter, IllegalArgument); 00325 00360 InetAddressSeq ipSynchronize(in string routerName, 00361 in EventAttrSeqSeq sessions) 00362 raises(UnknownRouter, IllegalArgument); 00363 00377 sae::StringSeq getManagedRouterNames(); 00378 00392 void registerRouterListener(in RouterListener listener); 00393 00401 void unregisterRouterListener(in RouterListener listener); 00402 00407 string getSaeID(); 00408 }; 00409 00410 };