x11rb/protocol/
xprint.rs

1// This file contains generated code. Do not edit directly.
2// To regenerate this, run 'make'.
3
4//! Bindings to the `XPrint` X11 extension.
5
6#![allow(clippy::too_many_arguments)]
7
8#[allow(unused_imports)]
9use std::borrow::Cow;
10#[allow(unused_imports)]
11use std::convert::TryInto;
12#[allow(unused_imports)]
13use crate::utils::RawFdContainer;
14#[allow(unused_imports)]
15use crate::x11_utils::{Request, RequestHeader, Serialize, TryParse, TryParseFd};
16use std::io::IoSlice;
17use crate::connection::RequestConnection;
18#[allow(unused_imports)]
19use crate::connection::Connection as X11Connection;
20#[allow(unused_imports)]
21use crate::cookie::{Cookie, CookieWithFds, VoidCookie};
22use crate::errors::ConnectionError;
23#[allow(unused_imports)]
24use crate::errors::ReplyOrIdError;
25#[allow(unused_imports)]
26use super::xproto;
27
28pub use x11rb_protocol::protocol::xprint::*;
29
30/// Get the major opcode of this extension
31fn major_opcode<Conn: RequestConnection + ?Sized>(conn: &Conn) -> Result<u8, ConnectionError> {
32    let info = conn.extension_information(X11_EXTENSION_NAME)?;
33    let info = info.ok_or(ConnectionError::UnsupportedExtension)?;
34    Ok(info.major_opcode)
35}
36
37pub fn print_query_version<Conn>(conn: &Conn) -> Result<Cookie<'_, Conn, PrintQueryVersionReply>, ConnectionError>
38where
39    Conn: RequestConnection + ?Sized,
40{
41    let request0 = PrintQueryVersionRequest;
42    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
43    let slices = [IoSlice::new(&bytes[0])];
44    assert_eq!(slices.len(), bytes.len());
45    conn.send_request_with_reply(&slices, fds)
46}
47
48pub fn print_get_printer_list<'c, 'input, Conn>(conn: &'c Conn, printer_name: &'input [String8], locale: &'input [String8]) -> Result<Cookie<'c, Conn, PrintGetPrinterListReply>, ConnectionError>
49where
50    Conn: RequestConnection + ?Sized,
51{
52    let request0 = PrintGetPrinterListRequest {
53        printer_name: Cow::Borrowed(printer_name),
54        locale: Cow::Borrowed(locale),
55    };
56    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
57    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2]), IoSlice::new(&bytes[3]), IoSlice::new(&bytes[4])];
58    assert_eq!(slices.len(), bytes.len());
59    conn.send_request_with_reply(&slices, fds)
60}
61
62pub fn print_rehash_printer_list<Conn>(conn: &Conn) -> Result<VoidCookie<'_, Conn>, ConnectionError>
63where
64    Conn: RequestConnection + ?Sized,
65{
66    let request0 = PrintRehashPrinterListRequest;
67    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
68    let slices = [IoSlice::new(&bytes[0])];
69    assert_eq!(slices.len(), bytes.len());
70    conn.send_request_without_reply(&slices, fds)
71}
72
73pub fn create_context<'c, 'input, Conn>(conn: &'c Conn, context_id: u32, printer_name: &'input [String8], locale: &'input [String8]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
74where
75    Conn: RequestConnection + ?Sized,
76{
77    let request0 = CreateContextRequest {
78        context_id,
79        printer_name: Cow::Borrowed(printer_name),
80        locale: Cow::Borrowed(locale),
81    };
82    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
83    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2]), IoSlice::new(&bytes[3]), IoSlice::new(&bytes[4])];
84    assert_eq!(slices.len(), bytes.len());
85    conn.send_request_without_reply(&slices, fds)
86}
87
88pub fn print_set_context<Conn>(conn: &Conn, context: u32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
89where
90    Conn: RequestConnection + ?Sized,
91{
92    let request0 = PrintSetContextRequest {
93        context,
94    };
95    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
96    let slices = [IoSlice::new(&bytes[0])];
97    assert_eq!(slices.len(), bytes.len());
98    conn.send_request_without_reply(&slices, fds)
99}
100
101pub fn print_get_context<Conn>(conn: &Conn) -> Result<Cookie<'_, Conn, PrintGetContextReply>, ConnectionError>
102where
103    Conn: RequestConnection + ?Sized,
104{
105    let request0 = PrintGetContextRequest;
106    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
107    let slices = [IoSlice::new(&bytes[0])];
108    assert_eq!(slices.len(), bytes.len());
109    conn.send_request_with_reply(&slices, fds)
110}
111
112pub fn print_destroy_context<Conn>(conn: &Conn, context: u32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
113where
114    Conn: RequestConnection + ?Sized,
115{
116    let request0 = PrintDestroyContextRequest {
117        context,
118    };
119    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
120    let slices = [IoSlice::new(&bytes[0])];
121    assert_eq!(slices.len(), bytes.len());
122    conn.send_request_without_reply(&slices, fds)
123}
124
125pub fn print_get_screen_of_context<Conn>(conn: &Conn) -> Result<Cookie<'_, Conn, PrintGetScreenOfContextReply>, ConnectionError>
126where
127    Conn: RequestConnection + ?Sized,
128{
129    let request0 = PrintGetScreenOfContextRequest;
130    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
131    let slices = [IoSlice::new(&bytes[0])];
132    assert_eq!(slices.len(), bytes.len());
133    conn.send_request_with_reply(&slices, fds)
134}
135
136pub fn print_start_job<Conn>(conn: &Conn, output_mode: u8) -> Result<VoidCookie<'_, Conn>, ConnectionError>
137where
138    Conn: RequestConnection + ?Sized,
139{
140    let request0 = PrintStartJobRequest {
141        output_mode,
142    };
143    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
144    let slices = [IoSlice::new(&bytes[0])];
145    assert_eq!(slices.len(), bytes.len());
146    conn.send_request_without_reply(&slices, fds)
147}
148
149pub fn print_end_job<Conn>(conn: &Conn, cancel: bool) -> Result<VoidCookie<'_, Conn>, ConnectionError>
150where
151    Conn: RequestConnection + ?Sized,
152{
153    let request0 = PrintEndJobRequest {
154        cancel,
155    };
156    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
157    let slices = [IoSlice::new(&bytes[0])];
158    assert_eq!(slices.len(), bytes.len());
159    conn.send_request_without_reply(&slices, fds)
160}
161
162pub fn print_start_doc<Conn>(conn: &Conn, driver_mode: u8) -> Result<VoidCookie<'_, Conn>, ConnectionError>
163where
164    Conn: RequestConnection + ?Sized,
165{
166    let request0 = PrintStartDocRequest {
167        driver_mode,
168    };
169    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
170    let slices = [IoSlice::new(&bytes[0])];
171    assert_eq!(slices.len(), bytes.len());
172    conn.send_request_without_reply(&slices, fds)
173}
174
175pub fn print_end_doc<Conn>(conn: &Conn, cancel: bool) -> Result<VoidCookie<'_, Conn>, ConnectionError>
176where
177    Conn: RequestConnection + ?Sized,
178{
179    let request0 = PrintEndDocRequest {
180        cancel,
181    };
182    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
183    let slices = [IoSlice::new(&bytes[0])];
184    assert_eq!(slices.len(), bytes.len());
185    conn.send_request_without_reply(&slices, fds)
186}
187
188pub fn print_put_document_data<'c, 'input, Conn>(conn: &'c Conn, drawable: xproto::Drawable, data: &'input [u8], doc_format: &'input [String8], options: &'input [String8]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
189where
190    Conn: RequestConnection + ?Sized,
191{
192    let request0 = PrintPutDocumentDataRequest {
193        drawable,
194        data: Cow::Borrowed(data),
195        doc_format: Cow::Borrowed(doc_format),
196        options: Cow::Borrowed(options),
197    };
198    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
199    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2]), IoSlice::new(&bytes[3]), IoSlice::new(&bytes[4]), IoSlice::new(&bytes[5]), IoSlice::new(&bytes[6])];
200    assert_eq!(slices.len(), bytes.len());
201    conn.send_request_without_reply(&slices, fds)
202}
203
204pub fn print_get_document_data<Conn>(conn: &Conn, context: Pcontext, max_bytes: u32) -> Result<Cookie<'_, Conn, PrintGetDocumentDataReply>, ConnectionError>
205where
206    Conn: RequestConnection + ?Sized,
207{
208    let request0 = PrintGetDocumentDataRequest {
209        context,
210        max_bytes,
211    };
212    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
213    let slices = [IoSlice::new(&bytes[0])];
214    assert_eq!(slices.len(), bytes.len());
215    conn.send_request_with_reply(&slices, fds)
216}
217
218pub fn print_start_page<Conn>(conn: &Conn, window: xproto::Window) -> Result<VoidCookie<'_, Conn>, ConnectionError>
219where
220    Conn: RequestConnection + ?Sized,
221{
222    let request0 = PrintStartPageRequest {
223        window,
224    };
225    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
226    let slices = [IoSlice::new(&bytes[0])];
227    assert_eq!(slices.len(), bytes.len());
228    conn.send_request_without_reply(&slices, fds)
229}
230
231pub fn print_end_page<Conn>(conn: &Conn, cancel: bool) -> Result<VoidCookie<'_, Conn>, ConnectionError>
232where
233    Conn: RequestConnection + ?Sized,
234{
235    let request0 = PrintEndPageRequest {
236        cancel,
237    };
238    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
239    let slices = [IoSlice::new(&bytes[0])];
240    assert_eq!(slices.len(), bytes.len());
241    conn.send_request_without_reply(&slices, fds)
242}
243
244pub fn print_select_input<Conn>(conn: &Conn, context: Pcontext, event_mask: u32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
245where
246    Conn: RequestConnection + ?Sized,
247{
248    let request0 = PrintSelectInputRequest {
249        context,
250        event_mask,
251    };
252    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
253    let slices = [IoSlice::new(&bytes[0])];
254    assert_eq!(slices.len(), bytes.len());
255    conn.send_request_without_reply(&slices, fds)
256}
257
258pub fn print_input_selected<Conn>(conn: &Conn, context: Pcontext) -> Result<Cookie<'_, Conn, PrintInputSelectedReply>, ConnectionError>
259where
260    Conn: RequestConnection + ?Sized,
261{
262    let request0 = PrintInputSelectedRequest {
263        context,
264    };
265    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
266    let slices = [IoSlice::new(&bytes[0])];
267    assert_eq!(slices.len(), bytes.len());
268    conn.send_request_with_reply(&slices, fds)
269}
270
271pub fn print_get_attributes<Conn>(conn: &Conn, context: Pcontext, pool: u8) -> Result<Cookie<'_, Conn, PrintGetAttributesReply>, ConnectionError>
272where
273    Conn: RequestConnection + ?Sized,
274{
275    let request0 = PrintGetAttributesRequest {
276        context,
277        pool,
278    };
279    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
280    let slices = [IoSlice::new(&bytes[0])];
281    assert_eq!(slices.len(), bytes.len());
282    conn.send_request_with_reply(&slices, fds)
283}
284
285pub fn print_get_one_attributes<'c, 'input, Conn>(conn: &'c Conn, context: Pcontext, pool: u8, name: &'input [String8]) -> Result<Cookie<'c, Conn, PrintGetOneAttributesReply>, ConnectionError>
286where
287    Conn: RequestConnection + ?Sized,
288{
289    let request0 = PrintGetOneAttributesRequest {
290        context,
291        pool,
292        name: Cow::Borrowed(name),
293    };
294    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
295    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
296    assert_eq!(slices.len(), bytes.len());
297    conn.send_request_with_reply(&slices, fds)
298}
299
300pub fn print_set_attributes<'c, 'input, Conn>(conn: &'c Conn, context: Pcontext, string_len: u32, pool: u8, rule: u8, attributes: &'input [String8]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
301where
302    Conn: RequestConnection + ?Sized,
303{
304    let request0 = PrintSetAttributesRequest {
305        context,
306        string_len,
307        pool,
308        rule,
309        attributes: Cow::Borrowed(attributes),
310    };
311    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
312    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
313    assert_eq!(slices.len(), bytes.len());
314    conn.send_request_without_reply(&slices, fds)
315}
316
317pub fn print_get_page_dimensions<Conn>(conn: &Conn, context: Pcontext) -> Result<Cookie<'_, Conn, PrintGetPageDimensionsReply>, ConnectionError>
318where
319    Conn: RequestConnection + ?Sized,
320{
321    let request0 = PrintGetPageDimensionsRequest {
322        context,
323    };
324    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
325    let slices = [IoSlice::new(&bytes[0])];
326    assert_eq!(slices.len(), bytes.len());
327    conn.send_request_with_reply(&slices, fds)
328}
329
330pub fn print_query_screens<Conn>(conn: &Conn) -> Result<Cookie<'_, Conn, PrintQueryScreensReply>, ConnectionError>
331where
332    Conn: RequestConnection + ?Sized,
333{
334    let request0 = PrintQueryScreensRequest;
335    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
336    let slices = [IoSlice::new(&bytes[0])];
337    assert_eq!(slices.len(), bytes.len());
338    conn.send_request_with_reply(&slices, fds)
339}
340
341pub fn print_set_image_resolution<Conn>(conn: &Conn, context: Pcontext, image_resolution: u16) -> Result<Cookie<'_, Conn, PrintSetImageResolutionReply>, ConnectionError>
342where
343    Conn: RequestConnection + ?Sized,
344{
345    let request0 = PrintSetImageResolutionRequest {
346        context,
347        image_resolution,
348    };
349    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
350    let slices = [IoSlice::new(&bytes[0])];
351    assert_eq!(slices.len(), bytes.len());
352    conn.send_request_with_reply(&slices, fds)
353}
354
355pub fn print_get_image_resolution<Conn>(conn: &Conn, context: Pcontext) -> Result<Cookie<'_, Conn, PrintGetImageResolutionReply>, ConnectionError>
356where
357    Conn: RequestConnection + ?Sized,
358{
359    let request0 = PrintGetImageResolutionRequest {
360        context,
361    };
362    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
363    let slices = [IoSlice::new(&bytes[0])];
364    assert_eq!(slices.len(), bytes.len());
365    conn.send_request_with_reply(&slices, fds)
366}
367
368/// Extension trait defining the requests of this extension.
369pub trait ConnectionExt: RequestConnection {
370    fn xprint_print_query_version(&self) -> Result<Cookie<'_, Self, PrintQueryVersionReply>, ConnectionError>
371    {
372        print_query_version(self)
373    }
374    fn xprint_print_get_printer_list<'c, 'input>(&'c self, printer_name: &'input [String8], locale: &'input [String8]) -> Result<Cookie<'c, Self, PrintGetPrinterListReply>, ConnectionError>
375    {
376        print_get_printer_list(self, printer_name, locale)
377    }
378    fn xprint_print_rehash_printer_list(&self) -> Result<VoidCookie<'_, Self>, ConnectionError>
379    {
380        print_rehash_printer_list(self)
381    }
382    fn xprint_create_context<'c, 'input>(&'c self, context_id: u32, printer_name: &'input [String8], locale: &'input [String8]) -> Result<VoidCookie<'c, Self>, ConnectionError>
383    {
384        create_context(self, context_id, printer_name, locale)
385    }
386    fn xprint_print_set_context(&self, context: u32) -> Result<VoidCookie<'_, Self>, ConnectionError>
387    {
388        print_set_context(self, context)
389    }
390    fn xprint_print_get_context(&self) -> Result<Cookie<'_, Self, PrintGetContextReply>, ConnectionError>
391    {
392        print_get_context(self)
393    }
394    fn xprint_print_destroy_context(&self, context: u32) -> Result<VoidCookie<'_, Self>, ConnectionError>
395    {
396        print_destroy_context(self, context)
397    }
398    fn xprint_print_get_screen_of_context(&self) -> Result<Cookie<'_, Self, PrintGetScreenOfContextReply>, ConnectionError>
399    {
400        print_get_screen_of_context(self)
401    }
402    fn xprint_print_start_job(&self, output_mode: u8) -> Result<VoidCookie<'_, Self>, ConnectionError>
403    {
404        print_start_job(self, output_mode)
405    }
406    fn xprint_print_end_job(&self, cancel: bool) -> Result<VoidCookie<'_, Self>, ConnectionError>
407    {
408        print_end_job(self, cancel)
409    }
410    fn xprint_print_start_doc(&self, driver_mode: u8) -> Result<VoidCookie<'_, Self>, ConnectionError>
411    {
412        print_start_doc(self, driver_mode)
413    }
414    fn xprint_print_end_doc(&self, cancel: bool) -> Result<VoidCookie<'_, Self>, ConnectionError>
415    {
416        print_end_doc(self, cancel)
417    }
418    fn xprint_print_put_document_data<'c, 'input>(&'c self, drawable: xproto::Drawable, data: &'input [u8], doc_format: &'input [String8], options: &'input [String8]) -> Result<VoidCookie<'c, Self>, ConnectionError>
419    {
420        print_put_document_data(self, drawable, data, doc_format, options)
421    }
422    fn xprint_print_get_document_data(&self, context: Pcontext, max_bytes: u32) -> Result<Cookie<'_, Self, PrintGetDocumentDataReply>, ConnectionError>
423    {
424        print_get_document_data(self, context, max_bytes)
425    }
426    fn xprint_print_start_page(&self, window: xproto::Window) -> Result<VoidCookie<'_, Self>, ConnectionError>
427    {
428        print_start_page(self, window)
429    }
430    fn xprint_print_end_page(&self, cancel: bool) -> Result<VoidCookie<'_, Self>, ConnectionError>
431    {
432        print_end_page(self, cancel)
433    }
434    fn xprint_print_select_input(&self, context: Pcontext, event_mask: u32) -> Result<VoidCookie<'_, Self>, ConnectionError>
435    {
436        print_select_input(self, context, event_mask)
437    }
438    fn xprint_print_input_selected(&self, context: Pcontext) -> Result<Cookie<'_, Self, PrintInputSelectedReply>, ConnectionError>
439    {
440        print_input_selected(self, context)
441    }
442    fn xprint_print_get_attributes(&self, context: Pcontext, pool: u8) -> Result<Cookie<'_, Self, PrintGetAttributesReply>, ConnectionError>
443    {
444        print_get_attributes(self, context, pool)
445    }
446    fn xprint_print_get_one_attributes<'c, 'input>(&'c self, context: Pcontext, pool: u8, name: &'input [String8]) -> Result<Cookie<'c, Self, PrintGetOneAttributesReply>, ConnectionError>
447    {
448        print_get_one_attributes(self, context, pool, name)
449    }
450    fn xprint_print_set_attributes<'c, 'input>(&'c self, context: Pcontext, string_len: u32, pool: u8, rule: u8, attributes: &'input [String8]) -> Result<VoidCookie<'c, Self>, ConnectionError>
451    {
452        print_set_attributes(self, context, string_len, pool, rule, attributes)
453    }
454    fn xprint_print_get_page_dimensions(&self, context: Pcontext) -> Result<Cookie<'_, Self, PrintGetPageDimensionsReply>, ConnectionError>
455    {
456        print_get_page_dimensions(self, context)
457    }
458    fn xprint_print_query_screens(&self) -> Result<Cookie<'_, Self, PrintQueryScreensReply>, ConnectionError>
459    {
460        print_query_screens(self)
461    }
462    fn xprint_print_set_image_resolution(&self, context: Pcontext, image_resolution: u16) -> Result<Cookie<'_, Self, PrintSetImageResolutionReply>, ConnectionError>
463    {
464        print_set_image_resolution(self, context, image_resolution)
465    }
466    fn xprint_print_get_image_resolution(&self, context: Pcontext) -> Result<Cookie<'_, Self, PrintGetImageResolutionReply>, ConnectionError>
467    {
468        print_get_image_resolution(self, context)
469    }
470}
471
472impl<C: RequestConnection + ?Sized> ConnectionExt for C {}