polkit_sys/
lib.rs

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