Lines Matching defs:cfp

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