您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ zlog_err函数代码示例

51自学网 2021-06-03 12:00:41
  C++
这篇教程C++ zlog_err函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中zlog_err函数的典型用法代码示例。如果您正苦于以下问题:C++ zlog_err函数的具体用法?C++ zlog_err怎么用?C++ zlog_err使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了zlog_err函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: sockopt_tcp_signature

//.........这里部分代码省略.........  int ret;#ifndef GNU_LINUX  /*   * XXX Need to do PF_KEY operation here to add/remove an SA entry,   * and add/remove an SP entry for this peer's packet flows also.   */  int md5sig = password && *password ? 1 : 0;  #else  struct  {	  struct {		  unsigned short  ss_family; 		  char __data[128 - sizeof(unsigned short)];	  } tcpm_addr; /* address associated */	  __u16   __tcpm_pad1;				  /* zero */	  __u16   tcpm_keylen;				  /* key length */	  __u32   __tcpm_pad2;				  /* zero */	  __u8	  tcpm_key[80];	  /* key (binary) */  } md5sig;  //struct tcp_md5sig md5sig;  int keylen = 0;  union sockunion *su2, *susock;  if(NULL != password)  	keylen = strlen(password) ;    /* Figure out whether the socket and the sockunion are the same family..   * adding AF_INET to AF_INET6 needs to be v4 mapped, you'd think..   */   susock = XCALLOC (MTYPE_SOCKUNION, sizeof (union sockunion));   if(NULL == susock)   	{   	    return -1;   	}  if (!( sockunion_getsockname (sock, susock)))    return -1;    if (susock->sa.sa_family == su->sa.sa_family)    su2 = su;  else    {      /* oops.. */      su2 = susock;            if (su2->sa.sa_family == AF_INET)        {          sockunion_free (susock);          return 0;        }      #ifdef HAVE_IPV6      /* If this does not work, then all users of this sockopt will need to       * differentiate between IPv4 and IPv6, and keep seperate sockets for       * each.        *       * Sadly, it doesn't seem to work at present. It's unknown whether       * this is a bug or not.       */      if (su2->sa.sa_family == AF_INET6          && su->sa.sa_family == AF_INET)        {           su2->sin6.sin6_family = AF_INET6;           /* V4Map the address */           memset (&su2->sin6.sin6_addr, 0, sizeof (struct in6_addr));           su2->sin6.sin6_addr.s6_addr32[2] = htonl(0xffff);           memcpy (&su2->sin6.sin6_addr.s6_addr32[3], &su->sin.sin_addr, 4);        }#endif    }    memset (&md5sig, 0, sizeof (md5sig));  memcpy (&md5sig.tcpm_addr, su2, sizeof (*su2));  md5sig.tcpm_keylen = keylen;  if (keylen)    memcpy (md5sig.tcpm_key, password, keylen);  sockunion_free (susock);#endif /* GNU_LINUX */  if ((ret = setsockopt (sock, IPPROTO_TCP, TCP_MD5SIG, &md5sig, sizeof md5sig)) < 0)    {      /* ENOENT is harmless.  It is returned when we clear a password for which	 one was not previously set. */      if (ENOENT == errno)	ret = 0;      else	zlog_err ("sockopt_tcp_signature: setsockopt(%d): %s",		  sock, safe_strerror(errno));    }  return ret;#else /* HAVE_TCP_MD5SIG */  return -2;#endif /* !HAVE_TCP_MD5SIG */}
开发者ID:millken,项目名称:zhuxianB30,代码行数:101,


示例2: pim_init

void pim_init(){  srandom(time(NULL));  if (!inet_aton(PIM_ALL_PIM_ROUTERS, &qpim_all_pim_routers_addr)) {    zlog_err("%s %s: could not solve %s to group address: errno=%d: %s",	     __FILE__, __PRETTY_FUNCTION__,	     PIM_ALL_PIM_ROUTERS, errno, safe_strerror(errno));    zassert(0);    return;  }  qpim_channel_oil_list = list_new();  if (!qpim_channel_oil_list) {    zlog_err("%s %s: failure: channel_oil_list=list_new()",	     __FILE__, __PRETTY_FUNCTION__);    return;  }  qpim_channel_oil_list->del = (void (*)(void *)) pim_channel_oil_free;  qpim_upstream_list = list_new();  if (!qpim_upstream_list) {    zlog_err("%s %s: failure: upstream_list=list_new()",	     __FILE__, __PRETTY_FUNCTION__);    pim_free();    return;  }  qpim_upstream_list->del = (void (*)(void *)) pim_upstream_free;  qpim_static_route_list = list_new();  if (!qpim_static_route_list) {    zlog_err("%s %s: failure: static_route_list=list_new()",        __FILE__, __PRETTY_FUNCTION__);    return;  }  qpim_static_route_list->del = (void (*)(void *)) pim_static_route_free;  qpim_mroute_socket_fd = -1; /* mark mroute as disabled */  qpim_mroute_oif_highest_vif_index = -1;  zassert(!qpim_debugs);  zassert(!PIM_MROUTE_IS_ENABLED);  qpim_inaddr_any.s_addr = PIM_NET_INADDR_ANY;  /*    RFC 4601: 4.6.3.  Assert Metrics    assert_metric    infinite_assert_metric() {    return {1,infinity,infinity,0}    }  */  qpim_infinite_assert_metric.rpt_bit_flag      = 1;  qpim_infinite_assert_metric.metric_preference = PIM_ASSERT_METRIC_PREFERENCE_MAX;  qpim_infinite_assert_metric.route_metric      = PIM_ASSERT_ROUTE_METRIC_MAX;  qpim_infinite_assert_metric.ip_address        = qpim_inaddr_any;  pim_cmd_init();  pim_ssmpingd_init();}
开发者ID:AT-Corp,项目名称:quagga-atc,代码行数:61,


示例3: gen_spgrid_topology

/* generator of layered networks for the shortest paths problem;   extended DIMACS format for output */intgen_spgrid_topology (struct vty *vty, struct list *topology){  /* ----- ajusting parameters ----- */  /* spanning */  if ( cl < cm ) { lx = cl; cl = cm; cm = lx; }  /* additional arcs */  if ( al < am ) { lx = al; al = am; am = lx; }  /* interlayered arcs */  if ( il < im ) { lx = il; il = im; im = lx; }  /* potential parameters */  if ( p_f )    {     if ( ! pl_f ) pl = il;     if ( ! pm_f ) pm = im;     if ( pl < pm ) { lx = pl; pl = pm; pm = lx; }    }  /* number of nodes and arcs */  n = (double)X *(double)Y + 1;  m  = (double)Y; /* arcs from source */  switch ( cw )  {   case PATH:    mc = (double)Y - 1;    break;   case CYCLE:    mc = (double)Y;    break;   case DOUBLE_CYCLE:    mc = 2*(double)Y;  }  m += (double)X * (double)mc;  /* spanning arcs */  m += (double)X * (double)ax;  /* additional arcs */  /* interlayered arcs */  for ( x = 0; x < X; x ++ )  {    dl = ( ( X - x - 1 ) + ( ih - 1 ) ) / ih;    if ( dl > ix ) dl = ix;    m += (double)Y * (double)dl;  }   /* artifical source parameters */  if ( s_f ) {    m += n; n ++ ;    if ( ! sm_f ) sm = sl;    if ( sl < sm ) { lx = sl; sl = sm; sm = lx; }  }  if ( n >= (double)LONG_MAX || m >= (double)LONG_MAX )  {    zlog_err ("Too large problem. It can't be generated/n");    exit (4);  }   else  {    n0 = (long)n; m0 = (long)m;  }  if ( ip_f )     mess = (long*) calloc ( Y, sizeof ( long ) );  /* printing title */  zlog_info ("Generating topology for ISIS");  source = ( s_f ) ? n0-1 : n0;  if ( p_f ) /* generating potentials */ {    p = (long*) calloc ( n0+1, sizeof (long) );    seed1 = 2*seed + 1;    init_rand ( seed1);    pl = pl - pm + 1;    for ( x = 0; x < X; x ++ )      for ( y = 0; y < Y; y ++ ) {        p_t = pm + nrand ( pl );        if ( pn_f ) p_t *= (long) ( (1 + x) * pn );        if ( ps_f ) p_t *= (long) ( (1 + x) * ( (1 + x) * ps ));        p[ NODE ( x, y ) ] = p_t;      }      p[n0] = 0;      if ( s_f ) p[n0-1] = 0;    }  if ( s_f ) /* additional arcs from artifical source */    {      seed2 = 3*seed + 1;      init_rand ( seed2 );//.........这里部分代码省略.........
开发者ID:gvsurenderreddy,项目名称:quagga,代码行数:101,


示例4: buffer_flush_available

/* This function (unlike other buffer_flush* functions above) is designedto work with non-blocking sockets.  It does not attempt to write outall of the queued data, just a "big" chunk.  It returns 0 if it wasable to empty out the buffers completely, 1 if more flushing isrequired later, or -1 on a fatal write error. */buffer_status_tbuffer_flush_available(struct buffer *b, int fd){/* These are just reasonable values to make sure a significant amount ofdata is written.  There's no need to go crazy and try to write it allin one shot. */#ifdef IOV_MAX#define MAX_CHUNKS ((IOV_MAX >= 16) ? 16 : IOV_MAX)#else#define MAX_CHUNKS 16#endif#define MAX_FLUSH 131072  struct buffer_data *d;  size_t written;  struct iovec iov[MAX_CHUNKS];  size_t iovcnt = 0;  size_t nbyte = 0;  for (d = b->head; d && (iovcnt < MAX_CHUNKS) && (nbyte < MAX_FLUSH);       d = d->next, iovcnt++)    {      iov[iovcnt].iov_base = d->data+d->sp;      nbyte += (iov[iovcnt].iov_len = d->cp-d->sp);    }  if (!nbyte)    /* No data to flush: should we issue a warning message? */    return BUFFER_EMPTY;  /* only place where written should be sign compared */  if ((ssize_t)(written = writev(fd,iov,iovcnt)) < 0)    {      if (ERRNO_IO_RETRY(errno))	/* Calling code should try again later. */        return BUFFER_PENDING;      zlog_warn("%s: write error on fd %d: %s",		__func__, fd, safe_strerror(errno));      return BUFFER_ERROR;    }  /* Free printed buffer data. */  while (written > 0)    {      struct buffer_data *d;      if (!(d = b->head))        {          zlog_err("%s: corruption detected: buffer queue empty, "		   "but written is %lu", __func__, (u_long)written);	  break;        }      if (written < d->cp-d->sp)        {	  d->sp += written;	  return BUFFER_PENDING;	}      written -= (d->cp-d->sp);      if (!(b->head = d->next))        b->tail = NULL;      BUFFER_DATA_FREE(d);    }  return b->head ? BUFFER_PENDING : BUFFER_EMPTY;#undef MAX_CHUNKS#undef MAX_FLUSH}
开发者ID:rgmabs19357,项目名称:HA,代码行数:74,


示例5: ifm_read

/* * Handle struct if_msghdr obtained from reading routing socket or * sysctl (from interface_list).  There may or may not be sockaddrs * present after the header. */intifm_read (struct if_msghdr *ifm){  struct interface *ifp = NULL;  char ifname[IFNAMSIZ];  short ifnlen = 0;  caddr_t *cp;    /* terminate ifname at head (for strnlen) and tail (for safety) */  ifname[IFNAMSIZ - 1] = '/0';    /* paranoia: sanity check structure */  if (ifm->ifm_msglen < sizeof(struct if_msghdr))    {      zlog_err ("ifm_read: ifm->ifm_msglen %d too short/n",		ifm->ifm_msglen);      return -1;    }  /*   * Check for a sockaddr_dl following the message.  First, point to   * where a socakddr might be if one follows the message.   */  cp = (void *)(ifm + 1);#ifdef SUNOS_5  /*    * XXX This behavior should be narrowed to only the kernel versions   * for which the structures returned do not match the headers.   *   * if_msghdr_t on 64 bit kernels in Solaris 9 and earlier versions   * is 12 bytes larger than the 32 bit version.   */  if (((struct sockaddr *) cp)->sa_family == AF_UNSPEC)  	cp = cp + 12;#endif  RTA_ADDR_GET (NULL, RTA_DST, ifm->ifm_addrs, cp);  RTA_ADDR_GET (NULL, RTA_GATEWAY, ifm->ifm_addrs, cp);  RTA_ATTR_GET (NULL, RTA_NETMASK, ifm->ifm_addrs, cp);  RTA_ADDR_GET (NULL, RTA_GENMASK, ifm->ifm_addrs, cp);  RTA_NAME_GET (ifname, RTA_IFP, ifm->ifm_addrs, cp, ifnlen);  RTA_ADDR_GET (NULL, RTA_IFA, ifm->ifm_addrs, cp);  RTA_ADDR_GET (NULL, RTA_AUTHOR, ifm->ifm_addrs, cp);  RTA_ADDR_GET (NULL, RTA_BRD, ifm->ifm_addrs, cp);    if (IS_ZEBRA_DEBUG_KERNEL)    zlog_debug ("%s: sdl ifname %s", __func__, (ifnlen ? ifname : "(nil)"));    /*    * Look up on ifindex first, because ifindices are the primary handle for   * interfaces across the user/kernel boundary, for most systems.  (Some   * messages, such as up/down status changes on NetBSD, do not include a   * sockaddr_dl).   */  if ( (ifp = if_lookup_by_index (ifm->ifm_index)) != NULL )    {      /* we have an ifp, verify that the name matches as some systems,       * eg Solaris, have a 1:many association of ifindex:ifname       * if they dont match, we dont have the correct ifp and should       * set it back to NULL to let next check do lookup by name       */      if (ifnlen && (strncmp (ifp->name, ifname, IFNAMSIZ) != 0) )        {          if (IS_ZEBRA_DEBUG_KERNEL)            zlog_debug ("%s: ifp name %s doesnt match sdl name %s",                        __func__, ifp->name, ifname);          ifp = NULL;        }    }    /*    * If we dont have an ifp, try looking up by name.  Particularly as some   * systems (Solaris) have a 1:many mapping of ifindex:ifname - the ifname   * is therefore our unique handle to that interface.   *   * Interfaces specified in the configuration file for which the ifindex   * has not been determined will have ifindex == IFINDEX_INTERNAL, and such   * interfaces are found by this search, and then their ifindex values can   * be filled in.   */  if ( (ifp == NULL) && ifnlen)    ifp = if_lookup_by_name (ifname);  /*   * If ifp still does not exist or has an invalid index (IFINDEX_INTERNAL),   * create or fill in an interface.   */  if ((ifp == NULL) || (ifp->ifindex == IFINDEX_INTERNAL))    {      /*       * To create or fill in an interface, a sockaddr_dl (via       * RTA_IFP) is required.       */      if (!ifnlen)//.........这里部分代码省略.........
开发者ID:ramarnat,项目名称:astaro-quagga,代码行数:101,


示例6: main

//.........这里部分代码省略.........  /* Make master thread emulator. */  zebrad.master = thread_master_create ();  /* privs initialise */  zprivs_init (&zserv_privs);  /* Vty related initialize. */  signal_init (zebrad.master, Q_SIGC(zebra_signals), zebra_signals);  cmd_init (1);  vty_init (zebrad.master);  memory_init ();  /* Zebra related initialize. */  zebra_init ();  rib_init ();  zebra_if_init ();  zebra_debug_init ();  router_id_init();  zebra_vty_init ();  access_list_init ();  prefix_list_init ();  rtadv_init ();#ifdef HAVE_IRDP  irdp_init();#endif  /* For debug purpose. */  /* SET_FLAG (zebra_debug_event, ZEBRA_DEBUG_EVENT); */  /* Make kernel routing socket. */  kernel_init ();  interface_list ();  route_read ();  /* Sort VTY commands. */  sort_node ();#ifdef HAVE_SNMP  zebra_snmp_init ();#endif /* HAVE_SNMP */  /* Process the configuration file. Among other configuration  *  directives we can meet those installing static routes. Such  *  requests will not be executed immediately, but queued in  *  zebra->ribq structure until we enter the main execution loop.  *  The notifications from kernel will show originating PID equal  *  to that after daemon() completes (if ever called).  */  vty_read_config (config_file, config_default);  /* Don't start execution if we are in dry-run mode */  if (dryrun)    return(0);    /* Clean up rib. */  rib_weed_tables ();  /* Exit when zebra is working in batch mode. */  if (batch_mode)    exit (0);  /* Daemonize. */  if (daemon_mode && daemon (0, 0) < 0)    {      zlog_err("Zebra daemon failed: %s", strerror(errno));      exit (1);    }  /* Output pid of zebra. */  pid_output (pid_file);  /* After we have successfully acquired the pidfile, we can be sure  *  about being the only copy of zebra process, which is submitting  *  changes to the FIB.  *  Clean up zebra-originated routes. The requests will be sent to OS  *  immediately, so originating PID in notifications from kernel  *  will be equal to the current getpid(). To know about such routes,  * we have to have route_read() called before.  */  if (! keep_kernel_mode)    rib_sweep_route ();  /* Needed for BSD routing socket. */  pid = getpid ();  /* This must be done only after locking pidfile (bug #403). */  zebra_zserv_socket_init (zserv_path);  /* Make vty server socket. */  vty_serv_sock (vty_addr, vty_port, ZEBRA_VTYSH_PATH);  /* Print banner. */  zlog_notice ("Zebra %s starting: [email
C++ zlog_info函数代码示例
C++ zlog函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。