int _lldpctl_atom_new_any_list(lldpctl_atom_t *atom, va_list ap) { struct _lldpctl_atom_any_list_t *plist = (struct _lldpctl_atom_any_list_t *)atom; plist->parent = va_arg(ap, struct _lldpctl_atom_port_t *); lldpctl_atom_inc_ref((lldpctl_atom_t *)plist->parent); return 1; }
static int _lldpctl_atom_new_mgmt(lldpctl_atom_t *atom, va_list ap) { struct _lldpctl_atom_mgmt_t *mgmt = (struct _lldpctl_atom_mgmt_t *)atom; mgmt->parent = va_arg(ap, struct _lldpctl_atom_port_t *); mgmt->mgmt = va_arg(ap, struct lldpd_mgmt *); lldpctl_atom_inc_ref((lldpctl_atom_t *)mgmt->parent); return 1; }
static int _lldpctl_atom_new_mgmts_list(lldpctl_atom_t *atom, va_list ap) { struct _lldpctl_atom_mgmts_list_t *plist = (struct _lldpctl_atom_mgmts_list_t *)atom; plist->parent = va_arg(ap, struct _lldpctl_atom_port_t *); plist->chassis = va_arg(ap, struct lldpd_chassis *); lldpctl_atom_inc_ref((lldpctl_atom_t *)plist->parent); return 1; }
static int _lldpctl_atom_new_vlan(lldpctl_atom_t *atom, va_list ap) { struct _lldpctl_atom_vlan_t *vlan = (struct _lldpctl_atom_vlan_t *)atom; vlan->parent = va_arg(ap, struct _lldpctl_atom_port_t *); vlan->vlan = va_arg(ap, struct lldpd_vlan *); lldpctl_atom_inc_ref((lldpctl_atom_t *)vlan->parent); return 1; }
static int _lldpctl_atom_new_pi(lldpctl_atom_t *atom, va_list ap) { struct _lldpctl_atom_pi_t *pi = (struct _lldpctl_atom_pi_t *)atom; pi->parent = va_arg(ap, struct _lldpctl_atom_port_t *); pi->pi = va_arg(ap, struct lldpd_pi *); lldpctl_atom_inc_ref((lldpctl_atom_t *)pi->parent); return 1; }
static int _lldpctl_atom_new_ppvid(lldpctl_atom_t *atom, va_list ap) { struct _lldpctl_atom_ppvid_t *ppvid = (struct _lldpctl_atom_ppvid_t *)atom; ppvid->parent = va_arg(ap, struct _lldpctl_atom_port_t *); ppvid->ppvid = va_arg(ap, struct lldpd_ppvid *); lldpctl_atom_inc_ref((lldpctl_atom_t *)ppvid->parent); return 1; }
static int _lldpctl_atom_new_custom(lldpctl_atom_t *atom, va_list ap) { struct _lldpctl_atom_custom_t *custom = (struct _lldpctl_atom_custom_t *)atom; custom->parent = va_arg(ap, struct _lldpctl_atom_port_t *); custom->tlv = va_arg(ap, struct lldpd_custom *); lldpctl_atom_inc_ref((lldpctl_atom_t *)custom->parent); return 1; }
static int _lldpctl_atom_new_port(lldpctl_atom_t *atom, va_list ap) { struct _lldpctl_atom_port_t *port = (struct _lldpctl_atom_port_t *)atom; port->local = va_arg(ap, int); port->hardware = va_arg(ap, struct lldpd_hardware*); port->port = va_arg(ap, struct lldpd_port*); port->parent = va_arg(ap, struct _lldpctl_atom_port_t*); if (port->parent) lldpctl_atom_inc_ref((lldpctl_atom_t*)port->parent); /* Internal atom. We are the parent, but our reference count is not * incremented. */ port->chassis = _lldpctl_new_atom(atom->conn, atom_chassis, port->port->p_chassis, port, 1); return 1; }