if (imsg_compose(&ibuf_main, type, 0, next, sizeof(struct bgpd_addr)) == -1) fatal("imsg_compose error");
if (ll == NULL) size = sizeof(struct bgpd_addr); else size = 2 * sizeof(struct bgpd_addr);  if ((wbuf = imsg_create(&ibuf_main, type, 0, size)) == NULL) fatal("imsg_create error"); if (imsg_add(wbuf, next, sizeof(struct bgpd_addr)) == -1) fatal("imsg_add error"); if (ll != NULL) if (imsg_add(wbuf, ll, sizeof(struct bgpd_addr)) == -1) fatal("imsg_add error"); if (imsg_close(&ibuf_main, wbuf) == -1) fatal("imsg_close error");
rde_send_nexthop(struct bgpd_addr *next, int valid){	int			type;	if (valid)		type = IMSG_NEXTHOP_ADD;	else		type = IMSG_NEXTHOP_REMOVE;	if (imsg_compose(&ibuf_main, type, 0, next,	    sizeof(struct bgpd_addr)) == -1)		fatal("imsg_compose error");}