polkit_rs_sys/
lib.rs

1// Generated by gir (https://github.com/gtk-rs/gir @ b2a1c6f9b362)
2// from ../../misc (@ ???)
3// DO NOT EDIT
4
5#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6#![allow(
7    clippy::approx_constant,
8    clippy::type_complexity,
9    clippy::unreadable_literal,
10    clippy::upper_case_acronyms
11)]
12#![cfg_attr(docsrs, feature(doc_cfg))]
13
14use gio_sys as gio;
15use glib_sys as glib;
16use gobject_sys as gobject;
17
18#[allow(unused_imports)]
19use libc::{FILE, intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t};
20#[cfg(unix)]
21#[allow(unused_imports)]
22use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
23#[allow(unused_imports)]
24use std::ffi::{
25    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
26};
27
28#[allow(unused_imports)]
29use glib::{GType, gboolean, gconstpointer, gpointer};
30
31// Enums
32pub type PolkitError = c_int;
33pub const POLKIT_ERROR_FAILED: PolkitError = 0;
34pub const POLKIT_ERROR_CANCELLED: PolkitError = 1;
35pub const POLKIT_ERROR_NOT_SUPPORTED: PolkitError = 2;
36pub const POLKIT_ERROR_NOT_AUTHORIZED: PolkitError = 3;
37
38pub type PolkitImplicitAuthorization = c_int;
39pub const POLKIT_IMPLICIT_AUTHORIZATION_UNKNOWN: PolkitImplicitAuthorization = -1;
40pub const POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED: PolkitImplicitAuthorization = 0;
41pub const POLKIT_IMPLICIT_AUTHORIZATION_AUTHENTICATION_REQUIRED: PolkitImplicitAuthorization = 1;
42pub const POLKIT_IMPLICIT_AUTHORIZATION_ADMINISTRATOR_AUTHENTICATION_REQUIRED:
43    PolkitImplicitAuthorization = 2;
44pub const POLKIT_IMPLICIT_AUTHORIZATION_AUTHENTICATION_REQUIRED_RETAINED:
45    PolkitImplicitAuthorization = 3;
46pub const POLKIT_IMPLICIT_AUTHORIZATION_ADMINISTRATOR_AUTHENTICATION_REQUIRED_RETAINED:
47    PolkitImplicitAuthorization = 4;
48pub const POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED: PolkitImplicitAuthorization = 5;
49
50// Flags
51pub type PolkitAuthorityFeatures = c_uint;
52pub const POLKIT_AUTHORITY_FEATURES_NONE: PolkitAuthorityFeatures = 0;
53pub const POLKIT_AUTHORITY_FEATURES_TEMPORARY_AUTHORIZATION: PolkitAuthorityFeatures = 1;
54
55pub type PolkitCheckAuthorizationFlags = c_uint;
56pub const POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE: PolkitCheckAuthorizationFlags = 0;
57pub const POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION: PolkitCheckAuthorizationFlags =
58    1;
59pub const POLKIT_CHECK_AUTHORIZATION_FLAGS_ALWAYS_CHECK: PolkitCheckAuthorizationFlags = 2;
60
61// Records
62#[repr(C)]
63#[allow(dead_code)]
64pub struct _PolkitActionDescriptionClass {
65    _data: [u8; 0],
66    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
67}
68
69pub type PolkitActionDescriptionClass = _PolkitActionDescriptionClass;
70
71#[repr(C)]
72#[allow(dead_code)]
73pub struct _PolkitAuthorityClass {
74    _data: [u8; 0],
75    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
76}
77
78pub type PolkitAuthorityClass = _PolkitAuthorityClass;
79
80#[repr(C)]
81#[allow(dead_code)]
82pub struct _PolkitAuthorizationResultClass {
83    _data: [u8; 0],
84    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
85}
86
87pub type PolkitAuthorizationResultClass = _PolkitAuthorizationResultClass;
88
89#[repr(C)]
90#[allow(dead_code)]
91pub struct _PolkitDetailsClass {
92    _data: [u8; 0],
93    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
94}
95
96pub type PolkitDetailsClass = _PolkitDetailsClass;
97
98#[derive(Copy, Clone)]
99#[repr(C)]
100pub struct PolkitIdentityIface {
101    pub parent_iface: gobject::GTypeInterface,
102    pub hash: Option<unsafe extern "C" fn(*mut PolkitIdentity) -> c_uint>,
103    pub equal: Option<unsafe extern "C" fn(*mut PolkitIdentity, *mut PolkitIdentity) -> gboolean>,
104    pub to_string: Option<unsafe extern "C" fn(*mut PolkitIdentity) -> *mut c_char>,
105}
106
107impl ::std::fmt::Debug for PolkitIdentityIface {
108    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
109        f.debug_struct(&format!("PolkitIdentityIface @ {self:p}"))
110            .field("parent_iface", &self.parent_iface)
111            .field("hash", &self.hash)
112            .field("equal", &self.equal)
113            .field("to_string", &self.to_string)
114            .finish()
115    }
116}
117
118#[derive(Copy, Clone)]
119#[repr(C)]
120pub struct PolkitSubjectIface {
121    pub parent_iface: gobject::GTypeInterface,
122    pub hash: Option<unsafe extern "C" fn(*mut PolkitSubject) -> c_uint>,
123    pub equal: Option<unsafe extern "C" fn(*mut PolkitSubject, *mut PolkitSubject) -> gboolean>,
124    pub to_string: Option<unsafe extern "C" fn(*mut PolkitSubject) -> *mut c_char>,
125    pub exists: Option<
126        unsafe extern "C" fn(
127            *mut PolkitSubject,
128            *mut gio::GCancellable,
129            gio::GAsyncReadyCallback,
130            gpointer,
131        ),
132    >,
133    pub exists_finish: Option<
134        unsafe extern "C" fn(
135            *mut PolkitSubject,
136            *mut gio::GAsyncResult,
137            *mut *mut glib::GError,
138        ) -> gboolean,
139    >,
140    pub exists_sync: Option<
141        unsafe extern "C" fn(
142            *mut PolkitSubject,
143            *mut gio::GCancellable,
144            *mut *mut glib::GError,
145        ) -> gboolean,
146    >,
147}
148
149impl ::std::fmt::Debug for PolkitSubjectIface {
150    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
151        f.debug_struct(&format!("PolkitSubjectIface @ {self:p}"))
152            .field("parent_iface", &self.parent_iface)
153            .field("hash", &self.hash)
154            .field("equal", &self.equal)
155            .field("to_string", &self.to_string)
156            .field("exists", &self.exists)
157            .field("exists_finish", &self.exists_finish)
158            .field("exists_sync", &self.exists_sync)
159            .finish()
160    }
161}
162
163#[repr(C)]
164#[allow(dead_code)]
165pub struct _PolkitSystemBusNameClass {
166    _data: [u8; 0],
167    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
168}
169
170pub type PolkitSystemBusNameClass = _PolkitSystemBusNameClass;
171
172#[repr(C)]
173#[allow(dead_code)]
174pub struct _PolkitTemporaryAuthorizationClass {
175    _data: [u8; 0],
176    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
177}
178
179pub type PolkitTemporaryAuthorizationClass = _PolkitTemporaryAuthorizationClass;
180
181#[repr(C)]
182#[allow(dead_code)]
183pub struct _PolkitUnixGroupClass {
184    _data: [u8; 0],
185    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
186}
187
188pub type PolkitUnixGroupClass = _PolkitUnixGroupClass;
189
190#[repr(C)]
191#[allow(dead_code)]
192pub struct _PolkitUnixNetgroupClass {
193    _data: [u8; 0],
194    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
195}
196
197pub type PolkitUnixNetgroupClass = _PolkitUnixNetgroupClass;
198
199#[repr(C)]
200#[allow(dead_code)]
201pub struct _PolkitUnixProcessClass {
202    _data: [u8; 0],
203    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
204}
205
206pub type PolkitUnixProcessClass = _PolkitUnixProcessClass;
207
208#[repr(C)]
209#[allow(dead_code)]
210pub struct _PolkitUnixSessionClass {
211    _data: [u8; 0],
212    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
213}
214
215pub type PolkitUnixSessionClass = _PolkitUnixSessionClass;
216
217#[repr(C)]
218#[allow(dead_code)]
219pub struct _PolkitUnixUserClass {
220    _data: [u8; 0],
221    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
222}
223
224pub type PolkitUnixUserClass = _PolkitUnixUserClass;
225
226// Classes
227#[repr(C)]
228#[allow(dead_code)]
229pub struct PolkitActionDescription {
230    _data: [u8; 0],
231    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
232}
233
234impl ::std::fmt::Debug for PolkitActionDescription {
235    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
236        f.debug_struct(&format!("PolkitActionDescription @ {self:p}"))
237            .finish()
238    }
239}
240
241#[repr(C)]
242#[allow(dead_code)]
243pub struct PolkitAuthority {
244    _data: [u8; 0],
245    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
246}
247
248impl ::std::fmt::Debug for PolkitAuthority {
249    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
250        f.debug_struct(&format!("PolkitAuthority @ {self:p}"))
251            .finish()
252    }
253}
254
255#[repr(C)]
256#[allow(dead_code)]
257pub struct PolkitAuthorizationResult {
258    _data: [u8; 0],
259    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
260}
261
262impl ::std::fmt::Debug for PolkitAuthorizationResult {
263    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
264        f.debug_struct(&format!("PolkitAuthorizationResult @ {self:p}"))
265            .finish()
266    }
267}
268
269#[repr(C)]
270#[allow(dead_code)]
271pub struct PolkitDetails {
272    _data: [u8; 0],
273    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
274}
275
276impl ::std::fmt::Debug for PolkitDetails {
277    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
278        f.debug_struct(&format!("PolkitDetails @ {self:p}"))
279            .finish()
280    }
281}
282
283#[repr(C)]
284#[allow(dead_code)]
285pub struct PolkitPermission {
286    _data: [u8; 0],
287    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
288}
289
290impl ::std::fmt::Debug for PolkitPermission {
291    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
292        f.debug_struct(&format!("PolkitPermission @ {self:p}"))
293            .finish()
294    }
295}
296
297#[repr(C)]
298#[allow(dead_code)]
299pub struct PolkitSystemBusName {
300    _data: [u8; 0],
301    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
302}
303
304impl ::std::fmt::Debug for PolkitSystemBusName {
305    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
306        f.debug_struct(&format!("PolkitSystemBusName @ {self:p}"))
307            .finish()
308    }
309}
310
311#[repr(C)]
312#[allow(dead_code)]
313pub struct PolkitTemporaryAuthorization {
314    _data: [u8; 0],
315    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
316}
317
318impl ::std::fmt::Debug for PolkitTemporaryAuthorization {
319    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
320        f.debug_struct(&format!("PolkitTemporaryAuthorization @ {self:p}"))
321            .finish()
322    }
323}
324
325#[repr(C)]
326#[allow(dead_code)]
327pub struct PolkitUnixGroup {
328    _data: [u8; 0],
329    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
330}
331
332impl ::std::fmt::Debug for PolkitUnixGroup {
333    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
334        f.debug_struct(&format!("PolkitUnixGroup @ {self:p}"))
335            .finish()
336    }
337}
338
339#[repr(C)]
340#[allow(dead_code)]
341pub struct PolkitUnixNetgroup {
342    _data: [u8; 0],
343    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
344}
345
346impl ::std::fmt::Debug for PolkitUnixNetgroup {
347    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
348        f.debug_struct(&format!("PolkitUnixNetgroup @ {self:p}"))
349            .finish()
350    }
351}
352
353#[repr(C)]
354#[allow(dead_code)]
355pub struct PolkitUnixProcess {
356    _data: [u8; 0],
357    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
358}
359
360impl ::std::fmt::Debug for PolkitUnixProcess {
361    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
362        f.debug_struct(&format!("PolkitUnixProcess @ {self:p}"))
363            .finish()
364    }
365}
366
367#[repr(C)]
368#[allow(dead_code)]
369pub struct PolkitUnixSession {
370    _data: [u8; 0],
371    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
372}
373
374impl ::std::fmt::Debug for PolkitUnixSession {
375    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
376        f.debug_struct(&format!("PolkitUnixSession @ {self:p}"))
377            .finish()
378    }
379}
380
381#[repr(C)]
382#[allow(dead_code)]
383pub struct PolkitUnixUser {
384    _data: [u8; 0],
385    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
386}
387
388impl ::std::fmt::Debug for PolkitUnixUser {
389    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
390        f.debug_struct(&format!("PolkitUnixUser @ {self:p}"))
391            .finish()
392    }
393}
394
395// Interfaces
396#[repr(C)]
397#[allow(dead_code)]
398pub struct PolkitIdentity {
399    _data: [u8; 0],
400    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
401}
402
403impl ::std::fmt::Debug for PolkitIdentity {
404    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
405        write!(f, "PolkitIdentity @ {self:p}")
406    }
407}
408
409#[repr(C)]
410#[allow(dead_code)]
411pub struct PolkitSubject {
412    _data: [u8; 0],
413    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
414}
415
416impl ::std::fmt::Debug for PolkitSubject {
417    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
418        write!(f, "PolkitSubject @ {self:p}")
419    }
420}
421
422unsafe extern "C" {
423
424    //=========================================================================
425    // PolkitError
426    //=========================================================================
427    pub fn polkit_error_get_type() -> GType;
428    pub fn polkit_error_quark() -> glib::GQuark;
429
430    //=========================================================================
431    // PolkitImplicitAuthorization
432    //=========================================================================
433    pub fn polkit_implicit_authorization_get_type() -> GType;
434    pub fn polkit_implicit_authorization_from_string(
435        string: *const c_char,
436        out_implicit_authorization: *mut PolkitImplicitAuthorization,
437    ) -> gboolean;
438    pub fn polkit_implicit_authorization_to_string(
439        implicit_authorization: PolkitImplicitAuthorization,
440    ) -> *const c_char;
441
442    //=========================================================================
443    // PolkitAuthorityFeatures
444    //=========================================================================
445    pub fn polkit_authority_features_get_type() -> GType;
446
447    //=========================================================================
448    // PolkitCheckAuthorizationFlags
449    //=========================================================================
450    pub fn polkit_check_authorization_flags_get_type() -> GType;
451
452    //=========================================================================
453    // PolkitActionDescription
454    //=========================================================================
455    pub fn polkit_action_description_get_type() -> GType;
456    pub fn polkit_action_description_get_action_id(
457        action_description: *mut PolkitActionDescription,
458    ) -> *const c_char;
459    pub fn polkit_action_description_get_annotation(
460        action_description: *mut PolkitActionDescription,
461        key: *const c_char,
462    ) -> *const c_char;
463    pub fn polkit_action_description_get_annotation_keys(
464        action_description: *mut PolkitActionDescription,
465    ) -> *const *const c_char;
466    pub fn polkit_action_description_get_description(
467        action_description: *mut PolkitActionDescription,
468    ) -> *const c_char;
469    pub fn polkit_action_description_get_icon_name(
470        action_description: *mut PolkitActionDescription,
471    ) -> *const c_char;
472    pub fn polkit_action_description_get_implicit_active(
473        action_description: *mut PolkitActionDescription,
474    ) -> PolkitImplicitAuthorization;
475    pub fn polkit_action_description_get_implicit_any(
476        action_description: *mut PolkitActionDescription,
477    ) -> PolkitImplicitAuthorization;
478    pub fn polkit_action_description_get_implicit_inactive(
479        action_description: *mut PolkitActionDescription,
480    ) -> PolkitImplicitAuthorization;
481    pub fn polkit_action_description_get_message(
482        action_description: *mut PolkitActionDescription,
483    ) -> *const c_char;
484    pub fn polkit_action_description_get_vendor_name(
485        action_description: *mut PolkitActionDescription,
486    ) -> *const c_char;
487    pub fn polkit_action_description_get_vendor_url(
488        action_description: *mut PolkitActionDescription,
489    ) -> *const c_char;
490
491    //=========================================================================
492    // PolkitAuthority
493    //=========================================================================
494    pub fn polkit_authority_get_type() -> GType;
495    pub fn polkit_authority_get() -> *mut PolkitAuthority;
496    pub fn polkit_authority_get_async(
497        cancellable: *mut gio::GCancellable,
498        callback: gio::GAsyncReadyCallback,
499        user_data: gpointer,
500    );
501    pub fn polkit_authority_get_finish(
502        res: *mut gio::GAsyncResult,
503        error: *mut *mut glib::GError,
504    ) -> *mut PolkitAuthority;
505    pub fn polkit_authority_get_sync(
506        cancellable: *mut gio::GCancellable,
507        error: *mut *mut glib::GError,
508    ) -> *mut PolkitAuthority;
509    pub fn polkit_authority_authentication_agent_response(
510        authority: *mut PolkitAuthority,
511        cookie: *const c_char,
512        identity: *mut PolkitIdentity,
513        cancellable: *mut gio::GCancellable,
514        callback: gio::GAsyncReadyCallback,
515        user_data: gpointer,
516    );
517    pub fn polkit_authority_authentication_agent_response_finish(
518        authority: *mut PolkitAuthority,
519        res: *mut gio::GAsyncResult,
520        error: *mut *mut glib::GError,
521    ) -> gboolean;
522    pub fn polkit_authority_authentication_agent_response_sync(
523        authority: *mut PolkitAuthority,
524        cookie: *const c_char,
525        identity: *mut PolkitIdentity,
526        cancellable: *mut gio::GCancellable,
527        error: *mut *mut glib::GError,
528    ) -> gboolean;
529    pub fn polkit_authority_check_authorization(
530        authority: *mut PolkitAuthority,
531        subject: *mut PolkitSubject,
532        action_id: *const c_char,
533        details: *mut PolkitDetails,
534        flags: PolkitCheckAuthorizationFlags,
535        cancellable: *mut gio::GCancellable,
536        callback: gio::GAsyncReadyCallback,
537        user_data: gpointer,
538    );
539    pub fn polkit_authority_check_authorization_finish(
540        authority: *mut PolkitAuthority,
541        res: *mut gio::GAsyncResult,
542        error: *mut *mut glib::GError,
543    ) -> *mut PolkitAuthorizationResult;
544    pub fn polkit_authority_check_authorization_sync(
545        authority: *mut PolkitAuthority,
546        subject: *mut PolkitSubject,
547        action_id: *const c_char,
548        details: *mut PolkitDetails,
549        flags: PolkitCheckAuthorizationFlags,
550        cancellable: *mut gio::GCancellable,
551        error: *mut *mut glib::GError,
552    ) -> *mut PolkitAuthorizationResult;
553    pub fn polkit_authority_enumerate_actions(
554        authority: *mut PolkitAuthority,
555        cancellable: *mut gio::GCancellable,
556        callback: gio::GAsyncReadyCallback,
557        user_data: gpointer,
558    );
559    pub fn polkit_authority_enumerate_actions_finish(
560        authority: *mut PolkitAuthority,
561        res: *mut gio::GAsyncResult,
562        error: *mut *mut glib::GError,
563    ) -> *mut glib::GList;
564    pub fn polkit_authority_enumerate_actions_sync(
565        authority: *mut PolkitAuthority,
566        cancellable: *mut gio::GCancellable,
567        error: *mut *mut glib::GError,
568    ) -> *mut glib::GList;
569    pub fn polkit_authority_enumerate_temporary_authorizations(
570        authority: *mut PolkitAuthority,
571        subject: *mut PolkitSubject,
572        cancellable: *mut gio::GCancellable,
573        callback: gio::GAsyncReadyCallback,
574        user_data: gpointer,
575    );
576    pub fn polkit_authority_enumerate_temporary_authorizations_finish(
577        authority: *mut PolkitAuthority,
578        res: *mut gio::GAsyncResult,
579        error: *mut *mut glib::GError,
580    ) -> *mut glib::GList;
581    pub fn polkit_authority_enumerate_temporary_authorizations_sync(
582        authority: *mut PolkitAuthority,
583        subject: *mut PolkitSubject,
584        cancellable: *mut gio::GCancellable,
585        error: *mut *mut glib::GError,
586    ) -> *mut glib::GList;
587    pub fn polkit_authority_get_backend_features(
588        authority: *mut PolkitAuthority,
589    ) -> PolkitAuthorityFeatures;
590    pub fn polkit_authority_get_backend_name(authority: *mut PolkitAuthority) -> *const c_char;
591    pub fn polkit_authority_get_backend_version(authority: *mut PolkitAuthority) -> *const c_char;
592    pub fn polkit_authority_get_owner(authority: *mut PolkitAuthority) -> *mut c_char;
593    pub fn polkit_authority_register_authentication_agent(
594        authority: *mut PolkitAuthority,
595        subject: *mut PolkitSubject,
596        locale: *const c_char,
597        object_path: *const c_char,
598        cancellable: *mut gio::GCancellable,
599        callback: gio::GAsyncReadyCallback,
600        user_data: gpointer,
601    );
602    pub fn polkit_authority_register_authentication_agent_finish(
603        authority: *mut PolkitAuthority,
604        res: *mut gio::GAsyncResult,
605        error: *mut *mut glib::GError,
606    ) -> gboolean;
607    pub fn polkit_authority_register_authentication_agent_sync(
608        authority: *mut PolkitAuthority,
609        subject: *mut PolkitSubject,
610        locale: *const c_char,
611        object_path: *const c_char,
612        cancellable: *mut gio::GCancellable,
613        error: *mut *mut glib::GError,
614    ) -> gboolean;
615    pub fn polkit_authority_register_authentication_agent_with_options(
616        authority: *mut PolkitAuthority,
617        subject: *mut PolkitSubject,
618        locale: *const c_char,
619        object_path: *const c_char,
620        options: *mut glib::GVariant,
621        cancellable: *mut gio::GCancellable,
622        callback: gio::GAsyncReadyCallback,
623        user_data: gpointer,
624    );
625    pub fn polkit_authority_register_authentication_agent_with_options_finish(
626        authority: *mut PolkitAuthority,
627        res: *mut gio::GAsyncResult,
628        error: *mut *mut glib::GError,
629    ) -> gboolean;
630    pub fn polkit_authority_register_authentication_agent_with_options_sync(
631        authority: *mut PolkitAuthority,
632        subject: *mut PolkitSubject,
633        locale: *const c_char,
634        object_path: *const c_char,
635        options: *mut glib::GVariant,
636        cancellable: *mut gio::GCancellable,
637        error: *mut *mut glib::GError,
638    ) -> gboolean;
639    pub fn polkit_authority_revoke_temporary_authorization_by_id(
640        authority: *mut PolkitAuthority,
641        id: *const c_char,
642        cancellable: *mut gio::GCancellable,
643        callback: gio::GAsyncReadyCallback,
644        user_data: gpointer,
645    );
646    pub fn polkit_authority_revoke_temporary_authorization_by_id_finish(
647        authority: *mut PolkitAuthority,
648        res: *mut gio::GAsyncResult,
649        error: *mut *mut glib::GError,
650    ) -> gboolean;
651    pub fn polkit_authority_revoke_temporary_authorization_by_id_sync(
652        authority: *mut PolkitAuthority,
653        id: *const c_char,
654        cancellable: *mut gio::GCancellable,
655        error: *mut *mut glib::GError,
656    ) -> gboolean;
657    pub fn polkit_authority_revoke_temporary_authorizations(
658        authority: *mut PolkitAuthority,
659        subject: *mut PolkitSubject,
660        cancellable: *mut gio::GCancellable,
661        callback: gio::GAsyncReadyCallback,
662        user_data: gpointer,
663    );
664    pub fn polkit_authority_revoke_temporary_authorizations_finish(
665        authority: *mut PolkitAuthority,
666        res: *mut gio::GAsyncResult,
667        error: *mut *mut glib::GError,
668    ) -> gboolean;
669    pub fn polkit_authority_revoke_temporary_authorizations_sync(
670        authority: *mut PolkitAuthority,
671        subject: *mut PolkitSubject,
672        cancellable: *mut gio::GCancellable,
673        error: *mut *mut glib::GError,
674    ) -> gboolean;
675    pub fn polkit_authority_unregister_authentication_agent(
676        authority: *mut PolkitAuthority,
677        subject: *mut PolkitSubject,
678        object_path: *const c_char,
679        cancellable: *mut gio::GCancellable,
680        callback: gio::GAsyncReadyCallback,
681        user_data: gpointer,
682    );
683    pub fn polkit_authority_unregister_authentication_agent_finish(
684        authority: *mut PolkitAuthority,
685        res: *mut gio::GAsyncResult,
686        error: *mut *mut glib::GError,
687    ) -> gboolean;
688    pub fn polkit_authority_unregister_authentication_agent_sync(
689        authority: *mut PolkitAuthority,
690        subject: *mut PolkitSubject,
691        object_path: *const c_char,
692        cancellable: *mut gio::GCancellable,
693        error: *mut *mut glib::GError,
694    ) -> gboolean;
695
696    //=========================================================================
697    // PolkitAuthorizationResult
698    //=========================================================================
699    pub fn polkit_authorization_result_get_type() -> GType;
700    pub fn polkit_authorization_result_new(
701        is_authorized: gboolean,
702        is_challenge: gboolean,
703        details: *mut PolkitDetails,
704    ) -> *mut PolkitAuthorizationResult;
705    pub fn polkit_authorization_result_get_details(
706        result: *mut PolkitAuthorizationResult,
707    ) -> *mut PolkitDetails;
708    #[cfg(feature = "v0_101")]
709    #[cfg_attr(docsrs, doc(cfg(feature = "v0_101")))]
710    pub fn polkit_authorization_result_get_dismissed(
711        result: *mut PolkitAuthorizationResult,
712    ) -> gboolean;
713    pub fn polkit_authorization_result_get_is_authorized(
714        result: *mut PolkitAuthorizationResult,
715    ) -> gboolean;
716    pub fn polkit_authorization_result_get_is_challenge(
717        result: *mut PolkitAuthorizationResult,
718    ) -> gboolean;
719    pub fn polkit_authorization_result_get_retains_authorization(
720        result: *mut PolkitAuthorizationResult,
721    ) -> gboolean;
722    pub fn polkit_authorization_result_get_temporary_authorization_id(
723        result: *mut PolkitAuthorizationResult,
724    ) -> *const c_char;
725
726    //=========================================================================
727    // PolkitDetails
728    //=========================================================================
729    pub fn polkit_details_get_type() -> GType;
730    pub fn polkit_details_new() -> *mut PolkitDetails;
731    pub fn polkit_details_get_keys(details: *mut PolkitDetails) -> *mut *mut c_char;
732    pub fn polkit_details_insert(
733        details: *mut PolkitDetails,
734        key: *const c_char,
735        value: *const c_char,
736    );
737    pub fn polkit_details_lookup(details: *mut PolkitDetails, key: *const c_char) -> *const c_char;
738
739    //=========================================================================
740    // PolkitPermission
741    //=========================================================================
742    pub fn polkit_permission_get_type() -> GType;
743    pub fn polkit_permission_new_finish(
744        res: *mut gio::GAsyncResult,
745        error: *mut *mut glib::GError,
746    ) -> *mut gio::GPermission;
747    pub fn polkit_permission_new_sync(
748        action_id: *const c_char,
749        subject: *mut PolkitSubject,
750        cancellable: *mut gio::GCancellable,
751        error: *mut *mut glib::GError,
752    ) -> *mut gio::GPermission;
753    pub fn polkit_permission_new(
754        action_id: *const c_char,
755        subject: *mut PolkitSubject,
756        cancellable: *mut gio::GCancellable,
757        callback: gio::GAsyncReadyCallback,
758        user_data: gpointer,
759    );
760    pub fn polkit_permission_get_action_id(permission: *mut PolkitPermission) -> *const c_char;
761    pub fn polkit_permission_get_subject(permission: *mut PolkitPermission) -> *mut PolkitSubject;
762
763    //=========================================================================
764    // PolkitSystemBusName
765    //=========================================================================
766    pub fn polkit_system_bus_name_get_type() -> GType;
767    pub fn polkit_system_bus_name_new(name: *const c_char) -> *mut PolkitSubject;
768    pub fn polkit_system_bus_name_get_name(
769        system_bus_name: *mut PolkitSystemBusName,
770    ) -> *const c_char;
771    pub fn polkit_system_bus_name_get_process_sync(
772        system_bus_name: *mut PolkitSystemBusName,
773        cancellable: *mut gio::GCancellable,
774        error: *mut *mut glib::GError,
775    ) -> *mut PolkitSubject;
776    pub fn polkit_system_bus_name_get_user_sync(
777        system_bus_name: *mut PolkitSystemBusName,
778        cancellable: *mut gio::GCancellable,
779        error: *mut *mut glib::GError,
780    ) -> *mut PolkitUnixUser;
781    pub fn polkit_system_bus_name_set_name(
782        system_bus_name: *mut PolkitSystemBusName,
783        name: *const c_char,
784    );
785
786    //=========================================================================
787    // PolkitTemporaryAuthorization
788    //=========================================================================
789    pub fn polkit_temporary_authorization_get_type() -> GType;
790    pub fn polkit_temporary_authorization_get_action_id(
791        authorization: *mut PolkitTemporaryAuthorization,
792    ) -> *const c_char;
793    pub fn polkit_temporary_authorization_get_id(
794        authorization: *mut PolkitTemporaryAuthorization,
795    ) -> *const c_char;
796    pub fn polkit_temporary_authorization_get_subject(
797        authorization: *mut PolkitTemporaryAuthorization,
798    ) -> *mut PolkitSubject;
799    pub fn polkit_temporary_authorization_get_time_expires(
800        authorization: *mut PolkitTemporaryAuthorization,
801    ) -> u64;
802    pub fn polkit_temporary_authorization_get_time_obtained(
803        authorization: *mut PolkitTemporaryAuthorization,
804    ) -> u64;
805
806    //=========================================================================
807    // PolkitUnixGroup
808    //=========================================================================
809    pub fn polkit_unix_group_get_type() -> GType;
810    pub fn polkit_unix_group_new(gid: c_int) -> *mut PolkitIdentity;
811    pub fn polkit_unix_group_new_for_name(
812        name: *const c_char,
813        error: *mut *mut glib::GError,
814    ) -> *mut PolkitIdentity;
815    pub fn polkit_unix_group_get_gid(group: *mut PolkitUnixGroup) -> c_int;
816    pub fn polkit_unix_group_set_gid(group: *mut PolkitUnixGroup, gid: c_int);
817
818    //=========================================================================
819    // PolkitUnixNetgroup
820    //=========================================================================
821    pub fn polkit_unix_netgroup_get_type() -> GType;
822    pub fn polkit_unix_netgroup_new(name: *const c_char) -> *mut PolkitIdentity;
823    pub fn polkit_unix_netgroup_get_name(group: *mut PolkitUnixNetgroup) -> *const c_char;
824    pub fn polkit_unix_netgroup_set_name(group: *mut PolkitUnixNetgroup, name: *const c_char);
825
826    //=========================================================================
827    // PolkitUnixProcess
828    //=========================================================================
829    pub fn polkit_unix_process_get_type() -> GType;
830    pub fn polkit_unix_process_new(pid: c_int) -> *mut PolkitSubject;
831    pub fn polkit_unix_process_new_for_owner(
832        pid: c_int,
833        start_time: u64,
834        uid: c_int,
835    ) -> *mut PolkitSubject;
836    pub fn polkit_unix_process_new_full(pid: c_int, start_time: u64) -> *mut PolkitSubject;
837    pub fn polkit_unix_process_new_pidfd(
838        pidfd: c_int,
839        uid: c_int,
840        gids: *mut glib::GArray,
841    ) -> *mut PolkitSubject;
842    pub fn polkit_unix_process_get_gids(process: *mut PolkitUnixProcess) -> *mut glib::GArray;
843    pub fn polkit_unix_process_get_owner(
844        process: *mut PolkitUnixProcess,
845        error: *mut *mut glib::GError,
846    ) -> c_int;
847    pub fn polkit_unix_process_get_pid(process: *mut PolkitUnixProcess) -> c_int;
848    pub fn polkit_unix_process_get_pidfd(process: *mut PolkitUnixProcess) -> c_int;
849    pub fn polkit_unix_process_get_pidfd_is_safe(process: *mut PolkitUnixProcess) -> gboolean;
850    pub fn polkit_unix_process_get_start_time(process: *mut PolkitUnixProcess) -> u64;
851    pub fn polkit_unix_process_get_uid(process: *mut PolkitUnixProcess) -> c_int;
852    pub fn polkit_unix_process_set_gids(process: *mut PolkitUnixProcess, gids: *mut glib::GArray);
853    pub fn polkit_unix_process_set_pid(process: *mut PolkitUnixProcess, pid: c_int);
854    pub fn polkit_unix_process_set_pidfd(process: *mut PolkitUnixProcess, pidfd: c_int);
855    pub fn polkit_unix_process_set_start_time(process: *mut PolkitUnixProcess, start_time: u64);
856    pub fn polkit_unix_process_set_uid(process: *mut PolkitUnixProcess, uid: c_int);
857
858    //=========================================================================
859    // PolkitUnixSession
860    //=========================================================================
861    pub fn polkit_unix_session_get_type() -> GType;
862    pub fn polkit_unix_session_new(session_id: *const c_char) -> *mut PolkitSubject;
863    pub fn polkit_unix_session_new_for_process(
864        pid: c_int,
865        cancellable: *mut gio::GCancellable,
866        callback: gio::GAsyncReadyCallback,
867        user_data: gpointer,
868    );
869    pub fn polkit_unix_session_new_for_process_finish(
870        res: *mut gio::GAsyncResult,
871        error: *mut *mut glib::GError,
872    ) -> *mut PolkitSubject;
873    pub fn polkit_unix_session_new_for_process_sync(
874        pid: c_int,
875        cancellable: *mut gio::GCancellable,
876        error: *mut *mut glib::GError,
877    ) -> *mut PolkitSubject;
878    pub fn polkit_unix_session_get_session_id(session: *mut PolkitUnixSession) -> *const c_char;
879    pub fn polkit_unix_session_set_session_id(
880        session: *mut PolkitUnixSession,
881        session_id: *const c_char,
882    );
883
884    //=========================================================================
885    // PolkitUnixUser
886    //=========================================================================
887    pub fn polkit_unix_user_get_type() -> GType;
888    pub fn polkit_unix_user_new(uid: c_int) -> *mut PolkitIdentity;
889    pub fn polkit_unix_user_new_for_name(
890        name: *const c_char,
891        error: *mut *mut glib::GError,
892    ) -> *mut PolkitIdentity;
893    pub fn polkit_unix_user_get_name(user: *mut PolkitUnixUser) -> *const c_char;
894    pub fn polkit_unix_user_get_uid(user: *mut PolkitUnixUser) -> c_int;
895    pub fn polkit_unix_user_set_uid(user: *mut PolkitUnixUser, uid: c_int);
896
897    //=========================================================================
898    // PolkitIdentity
899    //=========================================================================
900    pub fn polkit_identity_get_type() -> GType;
901    pub fn polkit_identity_from_string(
902        str: *const c_char,
903        error: *mut *mut glib::GError,
904    ) -> *mut PolkitIdentity;
905    pub fn polkit_identity_equal(a: *mut PolkitIdentity, b: *mut PolkitIdentity) -> gboolean;
906    pub fn polkit_identity_hash(identity: *mut PolkitIdentity) -> c_uint;
907    pub fn polkit_identity_to_string(identity: *mut PolkitIdentity) -> *mut c_char;
908
909    //=========================================================================
910    // PolkitSubject
911    //=========================================================================
912    pub fn polkit_subject_get_type() -> GType;
913    pub fn polkit_subject_from_string(
914        str: *const c_char,
915        error: *mut *mut glib::GError,
916    ) -> *mut PolkitSubject;
917    pub fn polkit_subject_equal(a: *mut PolkitSubject, b: *mut PolkitSubject) -> gboolean;
918    pub fn polkit_subject_exists(
919        subject: *mut PolkitSubject,
920        cancellable: *mut gio::GCancellable,
921        callback: gio::GAsyncReadyCallback,
922        user_data: gpointer,
923    );
924    pub fn polkit_subject_exists_finish(
925        subject: *mut PolkitSubject,
926        res: *mut gio::GAsyncResult,
927        error: *mut *mut glib::GError,
928    ) -> gboolean;
929    pub fn polkit_subject_exists_sync(
930        subject: *mut PolkitSubject,
931        cancellable: *mut gio::GCancellable,
932        error: *mut *mut glib::GError,
933    ) -> gboolean;
934    pub fn polkit_subject_hash(subject: *mut PolkitSubject) -> c_uint;
935    pub fn polkit_subject_to_string(subject: *mut PolkitSubject) -> *mut c_char;
936
937}