Lines Matching defs:limit

381 	cap_net_limit_t *limit;
383 limit = calloc(1, sizeof(*limit));
384 if (limit != NULL) {
385 limit->cnl_mode = mode;
386 limit->cnl_chan = chan;
387 limit->cnl_addr2name = nvlist_create(0);
388 limit->cnl_name2addr = nvlist_create(0);
389 limit->cnl_connect = nvlist_create(0);
390 limit->cnl_bind = nvlist_create(0);
393 return (limit);
397 pack_limit(nvlist_t *lnvl, const char *name, nvlist_t *limit)
400 if (!nvlist_empty(limit)) {
401 nvlist_move_nvlist(lnvl, name, limit);
403 nvlist_destroy(limit);
408 cap_net_limit(cap_net_limit_t *limit)
414 nvlist_add_number(lnvl, "mode", limit->cnl_mode);
416 pack_limit(lnvl, LIMIT_NV_ADDR2NAME, limit->cnl_addr2name);
417 pack_limit(lnvl, LIMIT_NV_NAME2ADDR, limit->cnl_name2addr);
418 pack_limit(lnvl, LIMIT_NV_CONNECT, limit->cnl_connect);
419 pack_limit(lnvl, LIMIT_NV_BIND, limit->cnl_bind);
421 chan = limit->cnl_chan;
422 free(limit);
428 cap_net_free(cap_net_limit_t *limit)
431 if (limit == NULL)
434 nvlist_destroy(limit->cnl_addr2name);
435 nvlist_destroy(limit->cnl_name2addr);
436 nvlist_destroy(limit->cnl_connect);
437 nvlist_destroy(limit->cnl_bind);
439 free(limit);
477 cap_net_limit_addr2name_family(cap_net_limit_t *limit, int *family, size_t size)
480 pack_family(limit->cnl_addr2name, family, size);
481 return (limit);
485 cap_net_limit_name2addr_family(cap_net_limit_t *limit, int *family, size_t size)
488 pack_family(limit->cnl_name2addr, family, size);
489 return (limit);
493 cap_net_limit_name2addr(cap_net_limit_t *limit, const char *host,
498 if (!nvlist_exists_nvlist(limit->cnl_name2addr, "hosts")) {
501 nvl = nvlist_take_nvlist(limit->cnl_name2addr, "hosts");
508 nvlist_move_nvlist(limit->cnl_name2addr, "hosts", nvl);
509 return (limit);
513 cap_net_limit_addr2name(cap_net_limit_t *limit, const struct sockaddr *sa,
517 pack_sockaddr(limit->cnl_addr2name, sa, salen);
518 return (limit);
523 cap_net_limit_connect(cap_net_limit_t *limit, const struct sockaddr *sa,
527 pack_sockaddr(limit->cnl_connect, sa, salen);
528 return (limit);
532 cap_net_limit_bind(cap_net_limit_t *limit, const struct sockaddr *sa,
536 pack_sockaddr(limit->cnl_bind, sa, salen);
537 return (limit);
642 const void *limit;
647 limit = cnvlist_get_binary(cookie, &limitsize);
652 if (memcmp(limit, saddr, limitsize) == 0) {
671 memcpy(&sockaddr, limit, sizeof(sockaddr));
682 memcpy(&sockaddr, limit, sizeof(sockaddr));
1376 * If the new limit doesn't mention mode or family we have to
1377 * check if the current limit does have those. Missing mode or
1378 * family in the limit means that all modes or families are