Lines Matching refs:monpriv

78 static struct mon_buf *monwrite_find_hdr(struct mon_private *monpriv,  in monwrite_find_hdr()  argument
83 list_for_each_entry_safe(entry, next, &monpriv->list, list) in monwrite_find_hdr()
96 static int monwrite_new_hdr(struct mon_private *monpriv) in monwrite_new_hdr() argument
98 struct monwrite_hdr *monhdr = &monpriv->hdr; in monwrite_new_hdr()
108 monbuf = monwrite_find_hdr(monpriv, monhdr); in monwrite_new_hdr()
133 list_add_tail(&monbuf->list, &monpriv->list); in monwrite_new_hdr()
137 monpriv->current_buf = monbuf; in monwrite_new_hdr()
141 static int monwrite_new_data(struct mon_private *monpriv) in monwrite_new_data() argument
143 struct monwrite_hdr *monhdr = &monpriv->hdr; in monwrite_new_data()
144 struct mon_buf *monbuf = monpriv->current_buf; in monwrite_new_data()
165 list_del(&monpriv->current_buf->list); in monwrite_new_data()
166 kfree(monpriv->current_buf->data); in monwrite_new_data()
167 kfree(monpriv->current_buf); in monwrite_new_data()
168 monpriv->current_buf = NULL; in monwrite_new_data()
183 struct mon_private *monpriv; in monwrite_open() local
185 monpriv = kzalloc(sizeof(struct mon_private), GFP_KERNEL); in monwrite_open()
186 if (!monpriv) in monwrite_open()
188 INIT_LIST_HEAD(&monpriv->list); in monwrite_open()
189 monpriv->hdr_to_read = sizeof(monpriv->hdr); in monwrite_open()
190 mutex_init(&monpriv->thread_mutex); in monwrite_open()
191 filp->private_data = monpriv; in monwrite_open()
192 list_add_tail(&monpriv->priv_list, &mon_priv_list); in monwrite_open()
198 struct mon_private *monpriv = filp->private_data; in monwrite_close() local
201 list_for_each_entry_safe(entry, next, &monpriv->list, list) { in monwrite_close()
210 list_del(&monpriv->priv_list); in monwrite_close()
211 kfree(monpriv); in monwrite_close()
218 struct mon_private *monpriv = filp->private_data; in monwrite_write() local
223 mutex_lock(&monpriv->thread_mutex); in monwrite_write()
225 if (monpriv->hdr_to_read) { in monwrite_write()
226 len = min(count - written, monpriv->hdr_to_read); in monwrite_write()
227 to = (char *) &monpriv->hdr + in monwrite_write()
228 sizeof(monpriv->hdr) - monpriv->hdr_to_read; in monwrite_write()
233 monpriv->hdr_to_read -= len; in monwrite_write()
235 if (monpriv->hdr_to_read > 0) in monwrite_write()
237 rc = monwrite_new_hdr(monpriv); in monwrite_write()
240 monpriv->data_to_read = monpriv->current_buf ? in monwrite_write()
241 monpriv->current_buf->hdr.datalen : 0; in monwrite_write()
244 if (monpriv->data_to_read) { in monwrite_write()
245 len = min(count - written, monpriv->data_to_read); in monwrite_write()
246 to = monpriv->current_buf->data + in monwrite_write()
247 monpriv->hdr.datalen - monpriv->data_to_read; in monwrite_write()
252 monpriv->data_to_read -= len; in monwrite_write()
254 if (monpriv->data_to_read > 0) in monwrite_write()
256 rc = monwrite_new_data(monpriv); in monwrite_write()
260 monpriv->hdr_to_read = sizeof(monpriv->hdr); in monwrite_write()
262 mutex_unlock(&monpriv->thread_mutex); in monwrite_write()
266 monpriv->data_to_read = 0; in monwrite_write()
267 monpriv->hdr_to_read = sizeof(struct monwrite_hdr); in monwrite_write()
268 mutex_unlock(&monpriv->thread_mutex); in monwrite_write()
292 struct mon_private *monpriv; in monwriter_freeze() local
295 list_for_each_entry(monpriv, &mon_priv_list, priv_list) { in monwriter_freeze()
296 list_for_each_entry(monbuf, &monpriv->list, list) { in monwriter_freeze()
307 struct mon_private *monpriv; in monwriter_restore() local
310 list_for_each_entry(monpriv, &mon_priv_list, priv_list) { in monwriter_restore()
311 list_for_each_entry(monbuf, &monpriv->list, list) { in monwriter_restore()