Lines Matching refs:monpriv

88 static struct mon_buf *monwrite_find_hdr(struct mon_private *monpriv,  in monwrite_find_hdr()  argument
93 list_for_each_entry_safe(entry, next, &monpriv->list, list) in monwrite_find_hdr()
106 static int monwrite_new_hdr(struct mon_private *monpriv) in monwrite_new_hdr() argument
108 struct monwrite_hdr *monhdr = &monpriv->hdr; in monwrite_new_hdr()
118 monbuf = monwrite_find_hdr(monpriv, monhdr); in monwrite_new_hdr()
143 list_add_tail(&monbuf->list, &monpriv->list); in monwrite_new_hdr()
147 monpriv->current_buf = monbuf; in monwrite_new_hdr()
151 static int monwrite_new_data(struct mon_private *monpriv) in monwrite_new_data() argument
153 struct monwrite_hdr *monhdr = &monpriv->hdr; in monwrite_new_data()
154 struct mon_buf *monbuf = monpriv->current_buf; in monwrite_new_data()
175 list_del(&monpriv->current_buf->list); in monwrite_new_data()
176 kfree(monpriv->current_buf->data); in monwrite_new_data()
177 kfree(monpriv->current_buf); in monwrite_new_data()
178 monpriv->current_buf = NULL; in monwrite_new_data()
193 struct mon_private *monpriv; in monwrite_open() local
195 monpriv = kzalloc(sizeof(struct mon_private), GFP_KERNEL); in monwrite_open()
196 if (!monpriv) in monwrite_open()
198 INIT_LIST_HEAD(&monpriv->list); in monwrite_open()
199 monpriv->hdr_to_read = sizeof(monpriv->hdr); in monwrite_open()
200 mutex_init(&monpriv->thread_mutex); in monwrite_open()
201 filp->private_data = monpriv; in monwrite_open()
202 list_add_tail(&monpriv->priv_list, &mon_priv_list); in monwrite_open()
208 struct mon_private *monpriv = filp->private_data; in monwrite_close() local
211 list_for_each_entry_safe(entry, next, &monpriv->list, list) { in monwrite_close()
220 list_del(&monpriv->priv_list); in monwrite_close()
221 kfree(monpriv); in monwrite_close()
228 struct mon_private *monpriv = filp->private_data; in monwrite_write() local
233 mutex_lock(&monpriv->thread_mutex); in monwrite_write()
235 if (monpriv->hdr_to_read) { in monwrite_write()
236 len = min(count - written, monpriv->hdr_to_read); in monwrite_write()
237 to = (char *) &monpriv->hdr + in monwrite_write()
238 sizeof(monpriv->hdr) - monpriv->hdr_to_read; in monwrite_write()
243 monpriv->hdr_to_read -= len; in monwrite_write()
245 if (monpriv->hdr_to_read > 0) in monwrite_write()
247 rc = monwrite_new_hdr(monpriv); in monwrite_write()
250 monpriv->data_to_read = monpriv->current_buf ? in monwrite_write()
251 monpriv->current_buf->hdr.datalen : 0; in monwrite_write()
254 if (monpriv->data_to_read) { in monwrite_write()
255 len = min(count - written, monpriv->data_to_read); in monwrite_write()
256 to = monpriv->current_buf->data + in monwrite_write()
257 monpriv->hdr.datalen - monpriv->data_to_read; in monwrite_write()
262 monpriv->data_to_read -= len; in monwrite_write()
264 if (monpriv->data_to_read > 0) in monwrite_write()
266 rc = monwrite_new_data(monpriv); in monwrite_write()
270 monpriv->hdr_to_read = sizeof(monpriv->hdr); in monwrite_write()
272 mutex_unlock(&monpriv->thread_mutex); in monwrite_write()
276 monpriv->data_to_read = 0; in monwrite_write()
277 monpriv->hdr_to_read = sizeof(struct monwrite_hdr); in monwrite_write()
278 mutex_unlock(&monpriv->thread_mutex); in monwrite_write()
302 struct mon_private *monpriv; in monwriter_freeze() local
305 list_for_each_entry(monpriv, &mon_priv_list, priv_list) { in monwriter_freeze()
306 list_for_each_entry(monbuf, &monpriv->list, list) { in monwriter_freeze()
317 struct mon_private *monpriv; in monwriter_restore() local
320 list_for_each_entry(monpriv, &mon_priv_list, priv_list) { in monwriter_restore()
321 list_for_each_entry(monbuf, &monpriv->list, list) { in monwriter_restore()