/* * Copyright (c) 2008 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * * The contents of this file constitute Original Code as defined in and * are subject to the Apple Public Source License Version 1.1 (the * "License"). You may not use this file except in compliance with the * License. Please obtain a copy of the License at * http://www.apple.com/publicsource and read it before using this file. * * This Original Code and all software distributed under the License are * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the * License for the specific language governing rights and limitations * under the License. * * @APPLE_LICENSE_HEADER_END@ */ #ifndef _IPSECMESSAGETRACER_H #define _IPSECMESSAGETRACER_H #import #define CONSTSTR(str) (const char *)str #define L2TPIPSECVPN_CONNECTION_ESTABLISHED_DOMAIN CONSTSTR("com.apple.Networking.ipsec.disconnect.l2tpipsec") #define CISCOIPSECVPN_CONNECTION_ESTABLISHED_DOMAIN CONSTSTR("com.apple.Networking.ipsec.disconnect.ciscoipsec") #define BTMMIPSEC_CONNECTION_ESTABLISHED_DOMAIN CONSTSTR("com.apple.Networking.ipsec.disconnect.btmm") #define PLAINIPSEC_CONNECTION_ESTABLISHED_DOMAIN CONSTSTR("com.apple.Networking.ipsec.disconnect.plain") #define L2TPIPSECVPN_CONNECTION_NOTESTABLISHED_DOMAIN CONSTSTR("com.apple.Networking.ipsec.connect.l2tpipsec") #define CISCOIPSECVPN_CONNECTION_NOTESTABLISHED_DOMAIN CONSTSTR("com.apple.Networking.ipsec.connect.ciscoipsec") #define BTMMIPSEC_CONNECTION_NOTESTABLISHED_DOMAIN CONSTSTR("com.apple.Networking.ipsec.connect.btmm") #define PLAINIPSEC_CONNECTION_NOTESTABLISHED_DOMAIN CONSTSTR("com.apple.Networking.ipsec.connect.plain") #define L2TPIPSECVPN_PHASE_DOMAIN CONSTSTR("com.apple.Networking.ipsec.phasestats.l2tpipsec") #define CISCOIPSECVPN_PHASE_DOMAIN CONSTSTR("com.apple.Networking.ipsec.phasestats.ciscoipsec") #define BTMMIPSEC_PHASE_DOMAIN CONSTSTR("com.apple.Networking.ipsec.phasestats.btmm") #define PLAINIPSEC_PHASE_DOMAIN CONSTSTR("com.apple.Networking.ipsec.phasestats.plain") #define PLAINIPSECDOMAIN CONSTSTR("com.apple.Networking.ipsec.main") #define IPSECASLDOMAIN CONSTSTR("com.apple.Networking.ipsec.asl") #define IPSECASLKEY CONSTSTR("IPSEC") #if TARGET_OS_EMBEDDED #define IPSECCONFIGTRACEREVENT(config, eventCode, message, failure_reason) #define IPSECPOLICYTRACEREVENT(policy, eventCode, message, failure_reason) #define IPSECSESSIONTRACERSTART(session) #define IPSECSESSIONTRACEREVENT(session, eventCode, message, failure_reason) #define IPSECSESSIONTRACERSTOP(session, is_failure, reason) #define IPSECSESSIONTRACERESTABLISHED(session) #else #define IPSECCONFIGTRACEREVENT(config, eventCode, message, failure_reason) ipsecConfigTracerEvent(config, eventCode, message, failure_reason) #define IPSECPOLICYTRACEREVENT(policy, eventCode, message, failure_reason) ipsecPolicyTracerEvent(policy, eventCode, message, failure_reason) #define IPSECSESSIONTRACERSTART(session) ipsecSessionTracerStart(session) #define IPSECSESSIONTRACEREVENT(session, eventCode, message, failure_reason) ipsecSessionTracerEvent(session, eventCode, message, failure_reason) #define IPSECSESSIONTRACERSTOP(session, is_failure, reason) ipsecSessionTracerStop(session, is_failure, reason) #define IPSECSESSIONTRACERESTABLISHED(session) ipsecSessionTracerLogEstablished(session) #endif #if 1 //TARGET_OS_EMBEDDED #define IPSECLOGASLMSG(format, args...) plog(ASL_LEVEL_NOTICE, format, ##args); #else #define IPSECLOGASLMSG(format, args...) do { \ aslmsg m = asl_new(ASL_TYPE_MSG); \ asl_set(m, ASL_KEY_FACILITY, IPSECASLDOMAIN); \ asl_set(m, ASL_KEY_MSG, IPSECASLKEY); \ asl_log(NULL, m, ASL_LEVEL_NOTICE, format, ##args); \ asl_free(m); \ } while(0) #endif static inline double get_percentage (double numerator, double denominator) { if (numerator >= denominator || denominator == 0) { return((double)100); } return((numerator/denominator)*100); } #endif /* _IPSECMESSAGETRACER_H */