Lines Matching refs:cfp

676 fmd_conf_exec_setprop(fmd_conf_t *cfp, int argc, char *argv[])  in fmd_conf_exec_setprop()  argument
681 return (fmd_conf_setprop(cfp, argv[0], argv[1])); in fmd_conf_exec_setprop()
685 fmd_conf_exec_subscribe(fmd_conf_t *cfp, int argc, char *argv[]) in fmd_conf_exec_subscribe() argument
690 return (fmd_conf_setprop(cfp, FMD_PROP_SUBSCRIPTIONS, argv[0])); in fmd_conf_exec_subscribe()
694 fmd_conf_exec_dictionary(fmd_conf_t *cfp, int argc, char *argv[]) in fmd_conf_exec_dictionary() argument
699 return (fmd_conf_setprop(cfp, FMD_PROP_DICTIONARIES, argv[0])); in fmd_conf_exec_dictionary()
703 fmd_conf_parse(fmd_conf_t *cfp, const char *file) in fmd_conf_parse() argument
747 if (vp->cv_exec(cfp, tokc - 1, tokv + 1) != 0) { in fmd_conf_parse()
764 fmd_conf_fill(fmd_conf_t *cfp, fmd_conf_param_t *ppbuf, in fmd_conf_fill() argument
772 ulong_t h = fmd_strhash(name) % cfp->cf_parhashlen; in fmd_conf_fill()
780 for (op = cfp->cf_parhash[h]; op != NULL; op = op->cp_next) { in fmd_conf_fill()
792 pp->cp_next = cfp->cf_parhash[h]; in fmd_conf_fill()
793 cfp->cf_parhash[h] = pp; in fmd_conf_fill()
796 fmd_conf_setprop(cfp, name, argv->cf_default) != 0) { in fmd_conf_fill()
808 fmd_conf_t *cfp = fmd_alloc(sizeof (fmd_conf_t), FMD_SLEEP); in fmd_conf_open() local
810 (void) pthread_rwlock_init(&cfp->cf_lock, NULL); in fmd_conf_open()
811 cfp->cf_argv = argv; in fmd_conf_open()
812 cfp->cf_argc = argc; in fmd_conf_open()
813 cfp->cf_flag = flag; in fmd_conf_open()
815 cfp->cf_params = fmd_zalloc( in fmd_conf_open()
818 cfp->cf_parhashlen = fmd.d_str_buckets; in fmd_conf_open()
819 cfp->cf_parhash = fmd_zalloc( in fmd_conf_open()
820 sizeof (fmd_conf_param_t *) * cfp->cf_parhashlen, FMD_SLEEP); in fmd_conf_open()
822 cfp->cf_defer = NULL; in fmd_conf_open()
824 fmd_conf_fill(cfp, cfp->cf_params, _fmd_conf_defc, _fmd_conf_defv, 0); in fmd_conf_open()
825 fmd_conf_fill(cfp, cfp->cf_params + _fmd_conf_defc, argc, argv, 1); in fmd_conf_open()
827 if (file != NULL && fmd_conf_parse(cfp, file) != 0) { in fmd_conf_open()
828 fmd_conf_close(cfp); in fmd_conf_open()
832 return (cfp); in fmd_conf_open()
836 fmd_conf_merge(fmd_conf_t *cfp, const char *file) in fmd_conf_merge() argument
838 (void) fmd_conf_parse(cfp, file); in fmd_conf_merge()
863 fmd_conf_close(fmd_conf_t *cfp) in fmd_conf_close() argument
865 fmd_conf_param_t *pp = cfp->cf_params; in fmd_conf_close()
866 int i, nparams = _fmd_conf_defc + cfp->cf_argc; in fmd_conf_close()
869 for (cdp = cfp->cf_defer; cdp != NULL; cdp = ndp) { in fmd_conf_close()
876 fmd_free(cfp->cf_parhash, in fmd_conf_close()
877 sizeof (fmd_conf_param_t *) * cfp->cf_parhashlen); in fmd_conf_close()
884 fmd_free(cfp->cf_params, sizeof (fmd_conf_param_t) * nparams); in fmd_conf_close()
885 fmd_free(cfp, sizeof (fmd_conf_t)); in fmd_conf_close()
889 fmd_conf_getparam(fmd_conf_t *cfp, const char *name) in fmd_conf_getparam() argument
891 ulong_t h = fmd_strhash(name) % cfp->cf_parhashlen; in fmd_conf_getparam()
892 fmd_conf_param_t *pp = cfp->cf_parhash[h]; in fmd_conf_getparam()
894 ASSERT(RW_LOCK_HELD(&cfp->cf_lock)); in fmd_conf_getparam()
909 fmd_conf_getnzstr(fmd_conf_t *cfp, const char *name) in fmd_conf_getnzstr() argument
914 (void) pthread_rwlock_rdlock(&cfp->cf_lock); in fmd_conf_getnzstr()
916 if ((pp = fmd_conf_getparam(cfp, name)) != NULL) { in fmd_conf_getnzstr()
922 (void) pthread_rwlock_unlock(&cfp->cf_lock); in fmd_conf_getnzstr()
933 fmd_conf_gettype(fmd_conf_t *cfp, const char *name) in fmd_conf_gettype() argument
938 (void) pthread_rwlock_rdlock(&cfp->cf_lock); in fmd_conf_gettype()
940 if ((pp = fmd_conf_getparam(cfp, name)) != NULL) { in fmd_conf_gettype()
948 (void) pthread_rwlock_unlock(&cfp->cf_lock); in fmd_conf_gettype()
953 fmd_conf_getprop(fmd_conf_t *cfp, const char *name, void *data) in fmd_conf_getprop() argument
958 (void) pthread_rwlock_rdlock(&cfp->cf_lock); in fmd_conf_getprop()
960 if ((pp = fmd_conf_getparam(cfp, name)) != NULL) in fmd_conf_getprop()
965 (void) pthread_rwlock_unlock(&cfp->cf_lock); in fmd_conf_getprop()
970 fmd_conf_setdefer(fmd_conf_t *cfp, const char *name, const char *value) in fmd_conf_setdefer() argument
974 if (!(cfp->cf_flag & FMD_CONF_DEFER)) in fmd_conf_setdefer()
977 (void) pthread_rwlock_wrlock(&cfp->cf_lock); in fmd_conf_setdefer()
979 for (cdp = cfp->cf_defer; cdp != NULL; cdp = cdp->cd_next) { in fmd_conf_setdefer()
991 cdp->cd_next = cfp->cf_defer; in fmd_conf_setdefer()
993 cfp->cf_defer = cdp; in fmd_conf_setdefer()
995 (void) pthread_rwlock_unlock(&cfp->cf_lock); in fmd_conf_setdefer()
1000 fmd_conf_setprop(fmd_conf_t *cfp, const char *name, const char *value) in fmd_conf_setprop() argument
1006 return (fmd_conf_setdefer(cfp, name, value)); in fmd_conf_setprop()
1008 (void) pthread_rwlock_wrlock(&cfp->cf_lock); in fmd_conf_setprop()
1010 if ((pp = fmd_conf_getparam(cfp, name)) != NULL) in fmd_conf_setprop()
1015 (void) pthread_rwlock_unlock(&cfp->cf_lock); in fmd_conf_setprop()
1020 fmd_conf_delprop(fmd_conf_t *cfp, const char *name, const char *value) in fmd_conf_delprop() argument
1025 (void) pthread_rwlock_wrlock(&cfp->cf_lock); in fmd_conf_delprop()
1027 if ((pp = fmd_conf_getparam(cfp, name)) != NULL) in fmd_conf_delprop()
1032 (void) pthread_rwlock_unlock(&cfp->cf_lock); in fmd_conf_delprop()