Lines Matching refs:udev_monitor

61 struct udev_monitor {  struct
69 struct udev_monitor * argument
72 struct udev_monitor *udev_monitor; in udev_monitor_new() local
79 udev_monitor = malloc(sizeof(struct udev_monitor)); in udev_monitor_new()
80 if (udev_monitor == NULL) in udev_monitor_new()
83 udev_monitor->refs = 1; in udev_monitor_new()
84 udev_monitor->ev_filt = NULL; in udev_monitor_new()
85 udev_monitor->socket = s; in udev_monitor_new()
86 udev_monitor->user_socket = 1; in udev_monitor_new()
87 udev_monitor->udev_ctx = udev_ref(udev_ctx); in udev_monitor_new()
89 return udev_monitor; in udev_monitor_new()
93 struct udev_monitor *
94 udev_monitor_ref(struct udev_monitor *udev_monitor) in udev_monitor_ref() argument
96 atomic_add_int(&udev_monitor->refs, 1); in udev_monitor_ref()
98 return udev_monitor; in udev_monitor_ref()
102 udev_monitor_unref(struct udev_monitor *udev_monitor) in udev_monitor_unref() argument
106 refcount = atomic_fetchadd_int(&udev_monitor->refs, -1); in udev_monitor_unref()
109 atomic_subtract_int(&udev_monitor->refs, 0x400); /* in destruction */ in udev_monitor_unref()
110 if (udev_monitor->ev_filt != NULL) in udev_monitor_unref()
111 prop_object_release(udev_monitor->ev_filt); in udev_monitor_unref()
113 if (udev_monitor->socket != -1) in udev_monitor_unref()
114 close(udev_monitor->socket); in udev_monitor_unref()
115 if (udev_monitor->user_socket != -1) in udev_monitor_unref()
116 close(udev_monitor->user_socket); in udev_monitor_unref()
118 udev_unref(udev_monitor->udev_ctx); in udev_monitor_unref()
119 free(udev_monitor); in udev_monitor_unref()
124 udev_monitor_get_udev(struct udev_monitor *udev_monitor) in udev_monitor_get_udev() argument
126 return udev_monitor->udev_ctx; in udev_monitor_get_udev()
130 udev_monitor_get_fd(struct udev_monitor *udev_monitor) in udev_monitor_get_fd() argument
132 return udev_monitor->socket; in udev_monitor_get_fd()
136 udev_monitor_receive_device(struct udev_monitor *udev_monitor) in udev_monitor_receive_device() argument
144 if ((n = read_xml(udev_monitor->socket, &xml)) <= 0) in udev_monitor_receive_device()
165 udev_dev = udev_device_new_from_dictionary(udev_monitor->udev_ctx, evdict); in udev_monitor_receive_device()
178 udev_monitor_enable_receiving(struct udev_monitor *udev_monitor) in udev_monitor_enable_receiving() argument
190 if (udev_monitor->ev_filt != NULL) { in udev_monitor_enable_receiving()
192 udev_monitor->ev_filt) == false) { in udev_monitor_enable_receiving()
203 n = send_xml(udev_monitor->socket, xml); in udev_monitor_enable_receiving()
212 udev_monitor_filter_add_match_subsystem_devtype(struct udev_monitor *udev_monitor, in udev_monitor_filter_add_match_subsystem_devtype() argument
218 ret = _udev_monitor_filter_add_match_gen(udev_monitor, in udev_monitor_filter_add_match_subsystem_devtype()
228 udev_monitor_filter_add_match_expr(struct udev_monitor *udev_monitor, in udev_monitor_filter_add_match_expr() argument
234 ret = _udev_monitor_filter_add_match_gen(udev_monitor, in udev_monitor_filter_add_match_expr()
244 udev_monitor_filter_add_nomatch_expr(struct udev_monitor *udev_monitor, in udev_monitor_filter_add_nomatch_expr() argument
250 ret = _udev_monitor_filter_add_match_gen(udev_monitor, in udev_monitor_filter_add_nomatch_expr()
260 udev_monitor_filter_add_match_regex(struct udev_monitor *udev_monitor, in udev_monitor_filter_add_match_regex() argument
266 ret = _udev_monitor_filter_add_match_gen(udev_monitor, in udev_monitor_filter_add_match_regex()
276 udev_monitor_filter_add_nomatch_regex(struct udev_monitor *udev_monitor, in udev_monitor_filter_add_nomatch_regex() argument
282 ret = _udev_monitor_filter_add_match_gen(udev_monitor, in udev_monitor_filter_add_nomatch_regex()
337 _udev_monitor_filter_add_match_gen(struct udev_monitor *udev_monitor, in _udev_monitor_filter_add_match_gen() argument
346 if (udev_monitor->ev_filt == NULL) { in _udev_monitor_filter_add_match_gen()
351 udev_monitor->ev_filt = pa; in _udev_monitor_filter_add_match_gen()
354 error = _udev_filter_add_match_gen(udev_monitor->ev_filt, type, neg, key, expr); in _udev_monitor_filter_add_match_gen()