Lines Matching defs:request

42 /* Representation of a single write request */
67 /* List of empty pages to be used as write request buffers */
80 /* Pointer to current request buffer which has been partially filled but not
84 /* Number of characters in current request buffer */
96 static int __sclp_vt220_emit(struct sclp_vt220_request *request);
112 * Put provided request buffer back into queue and check emit pending
116 sclp_vt220_process_queue(struct sclp_vt220_request *request)
123 page = request->sclp_req.sccb;
125 /* Move request from outqueue to empty queue */
126 list_del(&request->list);
129 request = NULL;
131 request = list_entry(sclp_vt220_outqueue.next,
133 if (!request) {
139 } while (__sclp_vt220_emit(request));
140 if (request == NULL && sclp_vt220_flush_later)
148 * Callback through which the result of a write request is reported by the
152 sclp_vt220_callback(struct sclp_req *request, void *data)
158 if (request->status == SCLP_REQ_FAILED) {
180 if (sclp_add_request(request) == 0)
190 if (sclp_add_request(request) == 0)
201 * Emit vt220 request buffer to SCLP. Return zero on success, non-zero
205 __sclp_vt220_emit(struct sclp_vt220_request *request)
207 request->sclp_req.command = SCLP_CMDW_WRITE_EVENT_DATA;
208 request->sclp_req.status = SCLP_REQ_FILLED;
209 request->sclp_req.callback = sclp_vt220_callback;
210 request->sclp_req.callback_data = (void *) request;
212 return sclp_add_request(&request->sclp_req);
216 * Queue and emit current request.
222 struct sclp_vt220_request *request;
242 request = list_first_entry(&sclp_vt220_outqueue,
247 if (__sclp_vt220_emit(request))
248 sclp_vt220_process_queue(request);
257 * Helper function to initialize a page with the sclp request structure.
262 struct sclp_vt220_request *request;
265 /* Place request structure at end of page */
266 request = ((struct sclp_vt220_request *)
268 request->retry_count = 0;
269 request->sclp_req.sccb = page;
279 return request;
283 sclp_vt220_space_left(struct sclp_vt220_request *request)
286 sccb = (struct sclp_vt220_sccb *) request->sclp_req.sccb;
292 sclp_vt220_chars_stored(struct sclp_vt220_request *request)
295 sccb = (struct sclp_vt220_sccb *) request->sclp_req.sccb;
300 * Add msg to buffer associated with request. Return the number of characters
304 sclp_vt220_add_msg(struct sclp_vt220_request *request,
313 if (count > sclp_vt220_space_left(request))
314 count = sclp_vt220_space_left(request);
318 sccb = (struct sclp_vt220_sccb *) request->sclp_req.sccb;
324 (from < count) && (to < sclp_vt220_space_left(request));
330 if (to + 1 < sclp_vt220_space_left(request)) {
368 struct sclp_vt220_request *request;
380 request = list_entry(list, struct sclp_vt220_request, list);
381 page = request->sclp_req.sccb;
431 /* Try to write the string to the current request buffer */
490 /* Handle magic sys request */