本文整理汇总了C++中KLIPS_PRINT函数的典型用法代码示例。如果您正苦于以下问题:C++ KLIPS_PRINT函数的具体用法?C++ KLIPS_PRINT怎么用?C++ KLIPS_PRINT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了KLIPS_PRINT函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: ipsec_mast_open
DEBUG_NO_STATIC int ipsec_mast_open(struct net_device *dev)
{
struct mastpriv *prv = netdev_to_mastpriv(dev);
prv = prv;
/*
* Can't open until attached.
*/
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_open: "
"dev = %s\n",
dev->name);
return 0;
}
开发者ID:hydromet,项目名称:libreswan,代码行数:17,代码来源:ipsec_mast.c
示例2: ipsec_klipsdebug_show
IPSEC_PROCFS_DEBUG_NO_STATIC
int ipsec_klipsdebug_show(struct seq_file *seq, void *offset)
{
KLIPS_PRINT(debug_tunnel & DB_TN_PROCFS,
"klips_debug:ipsec_klipsdebug_show: seq=%p, offset=%p\n",
seq, offset);
seq_printf(seq, "debug_tunnel=%08x.\n", debug_tunnel);
seq_printf(seq, "debug_xform=%08x.\n", debug_xform);
seq_printf(seq, "debug_eroute=%08x.\n", debug_eroute);
seq_printf(seq, "debug_spi=%08x.\n", debug_spi);
seq_printf(seq, "debug_radij=%08x.\n", debug_radij);
seq_printf(seq, "debug_esp=%08x.\n", debug_esp);
seq_printf(seq, "debug_ah=%08x.\n", debug_ah);
seq_printf(seq, "debug_rcv=%08x.\n", debug_rcv);
seq_printf(seq, "debug_pfkey=%08x.\n", debug_pfkey);
return 0;
}
开发者ID:dkg,项目名称:libreswan,代码行数:18,代码来源:ipsec_proc.c
示例3: ipsec_saref_freelist_init
int
ipsec_saref_freelist_init(void)
{
int i;
KLIPS_PRINT(debug_xform,
"klips_debug:ipsec_saref_freelist_init: "
"initialising %u elements of FreeList.\n",
IPSEC_SA_REF_FREELIST_NUM_ENTRIES);
for(i = 0; i < IPSEC_SA_REF_FREELIST_NUM_ENTRIES; i++) {
ipsec_sadb.refFreeList[i] = IPSEC_SAREF_NULL;
}
ipsec_sadb.refFreeListHead = IPSEC_SAREF_NULL;
ipsec_sadb.refFreeListCont = IPSEC_SAREF_FIRST;
ipsec_sadb.refFreeListTail = IPSEC_SAREF_NULL;
return 0;
}
开发者ID:st3fan,项目名称:libreswan,代码行数:19,代码来源:ipsec_sa.c
示例4: ipsec_saraw_show
IPSEC_PROCFS_DEBUG_NO_STATIC
int ipsec_saraw_show(struct seq_file *seq, void *offset)
{
struct ipsec_sa *sa_p;
extern struct ipsec_sa *ipsec_sa_raw;
KLIPS_PRINT(debug_tunnel & DB_TN_PROCFS,
"klips_debug:ipsec_saraw_show: seq=%p offset=%p\n",
seq, offset);
spin_lock_bh(&tdb_lock);
for (sa_p = ipsec_sa_raw; sa_p; sa_p = sa_p->ips_raw)
ipsec_spi_format(sa_p, seq);
spin_unlock_bh(&tdb_lock);
return 0;
}
开发者ID:dkg,项目名称:libreswan,代码行数:19,代码来源:ipsec_proc.c
示例5: klips_get_secpath_refs
static void klips_get_secpath_refs(struct sec_path *sp,
xfrm_sec_unique_t *refme, xfrm_sec_unique_t *refhim)
{
struct ipsec_sa *sa1;
if(sp==NULL) return;
KLIPS_PRINT(debug_rcv, "klips_debug:klips_get_secpath_refs: "
"retrieving saref=%u from sp=%p\n",
sp->ref, sp);
*refme = sp->ref;
sa1 = ipsec_sa_getbyref(sp->ref, IPSEC_REFOTHER);
*refhim = sa1 ? sa1->ips_refhim : 0;
if(sa1)
ipsec_sa_put(sa1, IPSEC_REFOTHER);
}
开发者ID:OPSF,项目名称:uClinux,代码行数:19,代码来源:ipsec_mast.c
示例6: ipsec_spi_show
IPSEC_PROCFS_DEBUG_NO_STATIC
int ipsec_spi_show(struct seq_file *seq, void *offset)
{
int i;
struct ipsec_sa *sa_p;
KLIPS_PRINT(debug_tunnel & DB_TN_PROCFS,
"klips_debug:ipsec_spi_show: seq=%p offset=%p\n",
seq, offset);
spin_lock_bh(&tdb_lock);
for (i = 0; i < SADB_HASHMOD; i++)
for (sa_p = ipsec_sadb_hash[i]; sa_p; sa_p = sa_p->ips_hnext)
ipsec_spi_format(sa_p, seq);
spin_unlock_bh(&tdb_lock);
return 0;
}
开发者ID:dkg,项目名称:libreswan,代码行数:20,代码来源:ipsec_proc.c
示例7: ipsec_sa_alloc
struct ipsec_sa*
ipsec_sa_alloc(int*error) /* pass in error var by pointer */
{
struct ipsec_sa* ips;
if((ips = kmalloc(sizeof(*ips), GFP_ATOMIC) ) == NULL) {
KLIPS_PRINT(debug_xform,
"ipsec_sa_alloc: "
"memory allocation error\n");
*error = -ENOMEM;
return NULL;
}
memset((caddr_t)ips, 0, sizeof(*ips));
/* return with at least counter = 1 */
ipsec_sa_get(ips);
*error = 0;
return(ips);
}
开发者ID:mcr,项目名称:bluerose,代码行数:20,代码来源:ipsec_sa.c
示例8: ipsec_mast_neigh_setup_dev
DEBUG_NO_STATIC int
ipsec_mast_neigh_setup_dev(struct net_device *dev, struct neigh_parms *p)
{
KLIPS_PRINT(debug_mast & DB_MAST_REVEC,
"klips_debug:ipsec_mast_neigh_setup_dev: "
"setting up %s\n",
dev ? dev->name : "NULL");
if (p->tbl->family == AF_INET) {
p->neigh_setup = ipsec_mast_neigh_setup;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)
NEIGH_VAR_SET(p, UCAST_PROBES, 0);
NEIGH_VAR_SET(p, MCAST_PROBES, 0);
#else
p->ucast_probes = 0;
p->mcast_probes = 0;
#endif
}
return 0;
}
开发者ID:Bytewerk,项目名称:uClinux-ipcam,代码行数:20,代码来源:ipsec_mast.c
示例9: ipsec_sa_untern
void ipsec_sa_untern(struct ipsec_sa *ips)
{
IPsecSAref_t ref = ips->ips_ref;
int error;
/* verify that we are removing correct item! */
error = ipsec_saref_verify_slot(ref);
if (error)
return;
if (IPsecSAref2SA(ref) == ips) {
IPsecSAref2SA(ref) = NULL;
ipsec_sa_put(ips, IPSEC_REFINTERN);
} else {
KLIPS_PRINT(debug_xform,
"ipsec_sa_untern: "
"ref=%u -> %p but untern'ing %p\n", ref,
IPsecSAref2SA(ref), ips);
}
}
开发者ID:yottanami,项目名称:libreswan,代码行数:21,代码来源:ipsec_sa.c
示例10: ipsec_saref_show
IPSEC_PROCFS_DEBUG_NO_STATIC
int ipsec_saref_show(struct seq_file *seq, void *offset)
{
KLIPS_PRINT(debug_tunnel & DB_TN_PROCFS,
"klips_debug:ipsec_saref_show: seq=%p offset=%p\n",
seq, offset);
#ifdef IP_IPSEC_REFINFO
seq_printf(seq, "refinfo patch applied\n");
#endif
#ifdef IP_IPSEC_BINDREF
seq_printf(seq, "bindref patch applied\n");
#endif
#ifdef CONFIG_INET_IPSEC_SAREF
seq_printf(seq, "saref enabled (%s)\n", ipsec_version_code());
#else
seq_printf(seq, "saref disabled (%s)\n", ipsec_version_code());
#endif
return 0;
}
开发者ID:dkg,项目名称:libreswan,代码行数:23,代码来源:ipsec_proc.c
示例11: ipsec_sa_add
/*
The ipsec_sa table better *NOT* be locked before it is handed in, or SMP locks will happen
*/
int ipsec_sa_add(struct ipsec_sa *ips)
{
int error = 0;
unsigned int hashval;
if (ips == NULL) {
KLIPS_PRINT(debug_xform,
"klips_error:ipsec_sa_add: "
"null pointer passed in!\n");
return -ENODATA;
}
hashval = IPS_HASH(&ips->ips_said);
ipsec_sa_get(ips, IPSEC_REFSAADD);
spin_lock_bh(&tdb_lock);
ips->ips_hnext = ipsec_sadb_hash[hashval];
ipsec_sadb_hash[hashval] = ips;
spin_unlock_bh(&tdb_lock);
return error;
}
开发者ID:yottanami,项目名称:libreswan,代码行数:26,代码来源:ipsec_sa.c
示例12: ipsec_sa_put
/*
The tdb table better *NOT* be locked before it is handed in, or SMP locks will happen
*/
int
ipsec_sa_put(struct ipsec_sa *ips)
{
int error = 0;
unsigned int hashval;
if(!ips) {
KLIPS_PRINT(debug_xform,
"klips_error:puttdb: "
"null pointer passed in!\n");
return -ENODATA;
}
hashval = ((ips->ips_said.spi + ips->ips_said.dst.s_addr + ips->ips_said.proto) % SADB_HASHMOD);
spin_lock_bh(&tdb_lock);
ips->ips_hnext = ipsec_sadb_hash[hashval];
ipsec_sadb_hash[hashval] = ips;
spin_unlock_bh(&tdb_lock);
return error;
}
开发者ID:ysleu,项目名称:RTL8685,代码行数:26,代码来源:ipsec_sa.c
示例13: ipsec_mast_xsm_complete
static void
ipsec_mast_xsm_complete(
struct ipsec_xmit_state *ixs,
enum ipsec_xmit_value stat)
{
if (stat != IPSEC_XMIT_OK) {
KLIPS_PRINT(debug_mast,
"klips_debug:ipsec_mast_xsm_complete: "
"ipsec_xsm failed: %d\n",
stat);
goto cleanup;
}
#ifdef NAT_TRAVERSAL
/* do any final NAT-encapsulation */
stat = ipsec_nat_encap(ixs);
if(stat != IPSEC_XMIT_OK) {
goto cleanup;
}
#endif
ipsec_xmit_send(ixs);
cleanup:
ipsec_xmit_cleanup(ixs);
if(ixs->ipsp) {
ipsec_sa_put(ixs->ipsp, IPSEC_REFOTHER);
ixs->ipsp=NULL;
}
if(ixs->skb) {
ipsec_kfree_skb(ixs->skb);
ixs->skb=NULL;
}
ipsec_xmit_state_delete(ixs);
}
开发者ID:OPSF,项目名称:uClinux,代码行数:36,代码来源:ipsec_mast.c
示例14: ipsec_rcv_ipcomp_checks
enum ipsec_rcv_value
ipsec_rcv_ipcomp_checks(struct ipsec_rcv_state *irs,
struct sk_buff *skb)
{
int ipcompminlen;
ipcompminlen = sizeof(struct iphdr);
if(skb->len < (ipcompminlen + sizeof(struct ipcomphdr))) {
KLIPS_PRINT(debug_rcv & DB_RX_INAU,
"klips_debug:ipsec_rcv_ipcomp_checks: "
"runt comp packet of skb->len=%d received from %s, dropped.\n",
skb->len,
irs->ipsaddr_txt);
if(irs->stats) {
irs->stats->rx_errors++;
}
return IPSEC_RCV_BADLEN;
}
irs->protostuff.ipcompstuff.compp = (struct ipcomphdr *)skb_transport_header(skb);
irs->said.spi = htonl((__u32)ntohs(irs->protostuff.ipcompstuff.compp->ipcomp_cpi));
return IPSEC_RCV_OK;
}
开发者ID:1309578252,项目名称:Openswan,代码行数:24,代码来源:ipsec_ipcomp.c
示例15: ipsec_sadb_init
int
ipsec_sadb_init(void)
{
int error = 0;
unsigned i;
for(i = 0; i < SADB_HASHMOD; i++) {
ipsec_sadb_hash[i] = NULL;
}
/* parts above are for the old style SADB hash table */
/* initialise SA reference table */
/* initialise the main table */
KLIPS_PRINT(debug_xform,
"klips_debug:ipsec_sadb_init: "
"initialising main table of size %u (2 ^ %u).\n",
IPSEC_SA_REF_MAINTABLE_NUM_ENTRIES,
IPSEC_SA_REF_MAINTABLE_IDX_WIDTH);
{
unsigned table;
for(table = 0; table < IPSEC_SA_REF_MAINTABLE_NUM_ENTRIES; table++) {
ipsec_sadb.refTable[table] = NULL;
}
}
/* allocate the first sub-table */
error = ipsec_SArefSubTable_alloc(0);
if(error) {
return error;
}
error = ipsec_saref_freelist_init();
return error;
}
开发者ID:st3fan,项目名称:libreswan,代码行数:36,代码来源:ipsec_sa.c
示例16: KLIPS_PRINT
struct ipsec_sa*ipsec_sa_alloc(int *error) /* pass in error var by pointer */
{
struct ipsec_sa *ips;
if ((ips = kmalloc(sizeof(*ips), GFP_ATOMIC) ) == NULL) {
KLIPS_PRINT(debug_xform,
"ipsec_sa_alloc: "
"memory allocation error\n");
*error = -ENOMEM;
return NULL;
}
memset((caddr_t)ips, 0, sizeof(*ips));
#ifdef IPSEC_SA_RECOUNT_DEBUG
ips->ips_raw = ipsec_sa_raw;
ipsec_sa_raw = ips;
#endif
/* return with at least counter = 1 */
ipsec_sa_get(ips, IPSEC_REFALLOC);
*error = 0;
return ips;
}
开发者ID:yottanami,项目名称:libreswan,代码行数:24,代码来源:ipsec_sa.c
示例17: ipsec_alg_enc_key_create
/*
* encryption key context creation function
* called from pfkey_v2_parser.c:pfkey_ips_init()
*/
int ipsec_alg_enc_key_create(struct ipsec_sa *sa_p) {
int ret=-EINVAL;
int keyminbits, keymaxbits;
caddr_t ekp;
struct ipsec_alg_enc *ixt_e=sa_p->ips_alg_enc;
KLIPS_PRINT(debug_pfkey,
"klips_debug:ipsec_alg_enc_key_create: "
"entering with encalg=%d ixt_e=%p\n",
sa_p->ips_encalg, ixt_e);
if (!ixt_e) {
KLIPS_PRINT(debug_pfkey,
"klips_debug:ipsec_alg_enc_key_create: "
"NULL ipsec_alg_enc object\n");
return -EPROTO;
}
if (ixt_e->ixt_e_validate_key) {
if ((ret=ixt_e->ixt_e_validate_key(sa_p)) < 0) {
KLIPS_PRINT(debug_pfkey,
"klips_debug:pfkey_ipsec_sa_init: "
"error calling validate_key() "
"key_bits_e=%d\n",
sa_p->ips_key_bits_e);
goto ixt_out;
}
} else {
keyminbits=ixt_e->ixt_keyminbits;
keymaxbits=ixt_e->ixt_keymaxbits;
if(sa_p->ips_key_bits_e<keyminbits ||
sa_p->ips_key_bits_e>keymaxbits) {
KLIPS_PRINT(debug_pfkey,
"klips_debug:ipsec_alg_enc_key_create: "
"incorrect encryption key size: %d bits -- "
"must be between %d,%d bits\n" /*octets (bytes)\n"*/,
sa_p->ips_key_bits_e, keyminbits, keymaxbits);
ret=-EINVAL;
goto ixt_out;
}
}
/* save encryption key pointer */
ekp = sa_p->ips_key_e;
if((sa_p->ips_key_e = (caddr_t)
kmalloc((sa_p->ips_key_e_size = ixt_e->ixt_e_ctx_size),
GFP_ATOMIC)) == NULL) {
ret=-ENOMEM;
goto ixt_out;
}
/* zero-out key_e */
memset(sa_p->ips_key_e, 0, sa_p->ips_key_e_size);
/* I cast here to allow more decoupling in alg module */
KLIPS_PRINT(debug_pfkey,
"klips_debug:ipsec_alg_enc_key_create: about to call:"
"set_key(key_e=%p, ekp=%p, key_size=%d)\n",
(caddr_t)sa_p->ips_key_e, ekp, sa_p->ips_key_bits_e/8);
ret = ixt_e->ixt_e_set_key((caddr_t)sa_p->ips_key_e, ekp, sa_p->ips_key_bits_e/8);
/* paranoid */
memset(ekp, 0, sa_p->ips_key_bits_e/8);
kfree(ekp);
ixt_out:
return ret;
}
开发者ID:dgeo96,项目名称:pfe,代码行数:67,代码来源:ipsec_alg.c
示例18: ipsec_rcv_ipcomp_decomp
enum ipsec_rcv_value ipsec_rcv_ipcomp_decomp(struct ipsec_rcv_state *irs)
{
unsigned int flags = 0;
struct ipsec_sa *ipsp = irs->ipsp;
struct sk_buff *skb;
skb = irs->skb;
ipsec_xmit_dmp("ipcomp", skb_transport_header(skb), skb->len);
if (ipsp == NULL)
return IPSEC_RCV_SAIDNOTFOUND;
if (sysctl_ipsec_inbound_policy_check &&
((((ntohl(ipsp->ips_said.spi) & 0x0000ffff) !=
(ntohl(irs->said.spi) & 0x0000ffff)) &&
(ipsp->ips_encalg != ntohl(irs->said.spi)) /* this is a workaround for peer non-compliance with rfc2393 */
))) {
char sa2[SATOT_BUF];
size_t sa_len2 = 0;
sa_len2 = KLIPS_SATOT(debug_rcv, &ipsp->ips_said, 0, sa2,
sizeof(sa2));
KLIPS_PRINT(debug_rcv,
"klips_debug:ipsec_rcv_ipcomp_decomp: "
"Incoming packet with SA(IPCA):%s does not match policy SA(IPCA):%s cpi=%04x cpi->spi=%08x spi=%08x, spi->cpi=%04x for SA grouping, dropped.\n",
irs->sa_len ? irs->sa : " (error)",
sa_len2 ? sa2 : " (error)",
ntohs(irs->protostuff.ipcompstuff.compp->ipcomp_cpi),
(__u32)ntohl(irs->said.spi),
(__u32)ntohl((ipsp->ips_said.spi)),
(__u16)(ntohl(ipsp->ips_said.spi) & 0x0000ffff));
if (irs->stats)
irs->stats->rx_dropped++;
return IPSEC_RCV_SAIDNOTFOUND;
}
if (lsw_ip_hdr_version(irs) == 6)
ipsp->ips_comp_ratio_cbytes +=
ntohs(lsw_ip6_hdr(irs)->payload_len) +
sizeof(struct ipv6hdr);
else
ipsp->ips_comp_ratio_cbytes +=
ntohs(lsw_ip4_hdr(irs)->tot_len);
irs->next_header = irs->protostuff.ipcompstuff.compp->ipcomp_nh;
#ifdef CONFIG_KLIPS_OCF
if (irs->ipsp->ocf_in_use)
return ipsec_ocf_rcv(irs);
#endif
skb = skb_decompress(skb, ipsp, &flags);
if (!skb || flags) {
KLIPS_PRINT(debug_rcv,
"klips_debug:ipsec_rcv_ipcomp_decomp: "
"skb_decompress() returned error flags=%x, dropped.\n",
flags);
if (irs->stats) {
if (flags)
irs->stats->rx_errors++;
else
irs->stats->rx_dropped++;
}
return IPSEC_RCV_IPCOMPFAILED;
}
/* make sure we update the pointer */
irs->skb = skb;
irs->iph = (void *) ip_hdr(skb);
if (lsw_ip_hdr_version(irs) == 6)
ipsp->ips_comp_ratio_dbytes +=
ntohs(lsw_ip6_hdr(irs)->payload_len) +
sizeof(struct ipv6hdr);
else
ipsp->ips_comp_ratio_dbytes +=
ntohs(lsw_ip4_hdr(irs)->tot_len);
KLIPS_PRINT(debug_rcv,
"klips_debug:ipsec_rcv_ipcomp_decomp: "
"packet decompressed SA(IPCA):%s cpi->spi=%08x spi=%08x, spi->cpi=%04x, nh=%d.\n",
irs->sa_len ? irs->sa : " (error)",
(__u32)ntohl(irs->said.spi),
ipsp != NULL ? (__u32)ntohl((ipsp->ips_said.spi)) : 0,
ipsp != NULL ?
(__u16)(ntohl(ipsp->ips_said.spi) & 0x0000ffff) : 0,
irs->next_header);
KLIPS_IP_PRINT(debug_rcv & DB_RX_PKTRX, irs->iph);
return IPSEC_RCV_OK;
}
开发者ID:libreswan,项目名称:libreswan,代码行数:94,代码来源:ipsec_ipcomp.c
示例19: ipsec_mast_probe
/*
* Called when an ipsec mast device is initialized.
* The ipsec mast device structure is passed to us.
*/
int
ipsec_mast_probe(struct net_device *dev)
{
int i;
struct ipsecpriv *ipriv;
KLIPS_PRINT(debug_mast,
"klips_debug:ipsec_mast_probe: "
"allocating %lu bytes initialising device: %s\n",
(unsigned long) sizeof(struct mastpriv),
dev->name ? dev->name : "NULL");
#ifndef USE_NETDEV_OPS
/* Add our mast functions to the device */
dev->open = ipsec_mast_open;
dev->stop = ipsec_mast_close;
dev->hard_start_xmit = ipsec_mast_start_xmit;
dev->get_stats = ipsec_mast_get_stats;
dev->set_multicast_list = NULL;
dev->do_ioctl = ipsec_mast_ioctl;
dev->set_mac_address = NULL;
dev->neigh_setup = ipsec_mast_neigh_setup_dev;
#endif
#ifdef alloc_netdev
dev->destructor = free_netdev;
#endif
#ifndef alloc_netdev
dev->priv = kmalloc(sizeof(struct mastpriv), GFP_KERNEL);
if (dev->priv == NULL)
return -ENOMEM;
#endif
ipriv = netdev_priv(dev);
memset(netdev_priv(dev), 0, sizeof(struct mastpriv));
for(i = 0; i < sizeof(zeroes); i++) {
((__u8*)(zeroes))[i] = 0;
}
#ifdef HAVE_NETDEV_HEADER_OPS
dev->header_ops = NULL;
#else
dev->hard_header = NULL;
dev->rebuild_header = NULL;
dev->header_cache_update= NULL;
#endif
dev->hard_header_len = 8+20+20+8;
dev->mtu = 0;
dev->addr_len = 0;
dev->type = ARPHRD_NONE;
dev->tx_queue_len = 10;
#ifdef IFF_XMIT_DST_RELEASE
dev->priv_flags &= ~IFF_XMIT_DST_RELEASE;
#endif
memset((caddr_t)(dev->broadcast),0xFF, ETH_ALEN); /* what if this is not attached to ethernet? */
/* New-style flags. */
dev->flags = IFF_NOARP;
/* pick a random ethernet address for now. */
random_ether_addr(dev->dev_addr);
/* We're done. Have I forgotten anything? */
return 0;
}
开发者ID:OPSF,项目名称:uClinux,代码行数:69,代码来源:ipsec_mast.c
示例20: ipsec_mast_device_event
int
ipsec_mast_device_event(struct notifier_block *unused, unsigned long event, void *ptr)
{
struct net_device *dev = ptr;
struct mastpriv *priv = netdev_priv(dev);
priv = priv;
if (dev == NULL) {
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"dev=NULL for event type %ld.\n",
event);
return(NOTIFY_DONE);
}
/* check for loopback devices */
if (dev && (dev->flags & IFF_LOOPBACK)) {
return(NOTIFY_DONE);
}
switch (event) {
case NETDEV_DOWN:
/* look very carefully at the scope of these compiler
directives before changing anything... -- RGB */
case NETDEV_UNREGISTER:
switch (event) {
case NETDEV_DOWN:
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"NETDEV_DOWN dev=%s flags=%x\n",
dev->name,
dev->flags);
if(strncmp(dev->name, "ipsec", strlen("ipsec")) == 0) {
printk(KERN_CRIT "IPSEC EVENT: KLIPS device %s shut down.\n",
dev->name);
}
break;
case NETDEV_UNREGISTER:
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"NETDEV_UNREGISTER dev=%s flags=%x\n",
dev->name,
dev->flags);
break;
}
break;
case NETDEV_UP:
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"NETDEV_UP dev=%s\n",
dev->name);
break;
case NETDEV_REBOOT:
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"NETDEV_REBOOT dev=%s\n",
dev->name);
break;
case NETDEV_CHANGE:
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"NETDEV_CHANGE dev=%s flags=%x\n",
dev->name,
dev->flags);
break;
case NETDEV_REGISTER:
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"NETDEV_REGISTER dev=%s\n",
dev->name);
break;
case NETDEV_CHANGEMTU:
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"NETDEV_CHANGEMTU dev=%s to mtu=%d\n",
dev->name,
dev->mtu);
break;
case NETDEV_CHANGEADDR:
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"NETDEV_CHANGEADDR dev=%s\n",
dev->name);
break;
case NETDEV_GOING_DOWN:
KLIPS_PRINT(debug_mast & DB_MAST_INIT,
"klips_debug:ipsec_mast_device_event: "
"NETDEV_GOING_DOWN dev=%s\n",
dev->name);
break;
//.........这里部分代码省略.........
开发者ID:OPSF,项目名称:uClinux,代码行数:101,代码来源:ipsec_mast.c
注:本文中的KLIPS_PRINT函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论