00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef DBUS_CREDENTIALS_H
00024 #define DBUS_CREDENTIALS_H
00025
00026 #include <dbus/dbus-macros.h>
00027 #include <dbus/dbus-errors.h>
00028 #include <dbus/dbus-string.h>
00029 #include <dbus/dbus-sysdeps.h>
00030
00031 DBUS_BEGIN_DECLS
00032
00033 typedef enum {
00034 DBUS_CREDENTIAL_UNIX_PROCESS_ID,
00035 DBUS_CREDENTIAL_UNIX_USER_ID,
00036 DBUS_CREDENTIAL_ADT_AUDIT_DATA_ID,
00037 DBUS_CREDENTIAL_LINUX_SECURITY_LABEL,
00038 DBUS_CREDENTIAL_WINDOWS_SID
00039 } DBusCredentialType;
00040
00041 DBUS_PRIVATE_EXPORT
00042 DBusCredentials* _dbus_credentials_new_from_current_process (void);
00043 DBUS_PRIVATE_EXPORT
00044 DBusCredentials* _dbus_credentials_new (void);
00045 DBUS_PRIVATE_EXPORT
00046 void _dbus_credentials_ref (DBusCredentials *credentials);
00047 DBUS_PRIVATE_EXPORT
00048 void _dbus_credentials_unref (DBusCredentials *credentials);
00049 DBUS_PRIVATE_EXPORT
00050 dbus_bool_t _dbus_credentials_add_pid (DBusCredentials *credentials,
00051 dbus_pid_t pid);
00052 DBUS_PRIVATE_EXPORT
00053 dbus_bool_t _dbus_credentials_add_unix_uid (DBusCredentials *credentials,
00054 dbus_uid_t uid);
00055 DBUS_PRIVATE_EXPORT
00056 dbus_bool_t _dbus_credentials_add_windows_sid (DBusCredentials *credentials,
00057 const char *windows_sid);
00058 dbus_bool_t _dbus_credentials_add_linux_security_label (DBusCredentials *credentials,
00059 const char *label);
00060 dbus_bool_t _dbus_credentials_add_adt_audit_data (DBusCredentials *credentials,
00061 void *audit_data,
00062 dbus_int32_t size);
00063 DBUS_PRIVATE_EXPORT
00064 dbus_bool_t _dbus_credentials_include (DBusCredentials *credentials,
00065 DBusCredentialType type);
00066 DBUS_PRIVATE_EXPORT
00067 dbus_pid_t _dbus_credentials_get_pid (DBusCredentials *credentials);
00068 DBUS_PRIVATE_EXPORT
00069 dbus_uid_t _dbus_credentials_get_unix_uid (DBusCredentials *credentials);
00070 DBUS_PRIVATE_EXPORT
00071 const char* _dbus_credentials_get_windows_sid (DBusCredentials *credentials);
00072 const char * _dbus_credentials_get_linux_security_label (DBusCredentials *credentials);
00073 void * _dbus_credentials_get_adt_audit_data (DBusCredentials *credentials);
00074 dbus_int32_t _dbus_credentials_get_adt_audit_data_size (DBusCredentials *credentials);
00075 DBUS_PRIVATE_EXPORT
00076 dbus_bool_t _dbus_credentials_are_superset (DBusCredentials *credentials,
00077 DBusCredentials *possible_subset);
00078 DBUS_PRIVATE_EXPORT
00079 dbus_bool_t _dbus_credentials_are_empty (DBusCredentials *credentials);
00080 DBUS_PRIVATE_EXPORT
00081 dbus_bool_t _dbus_credentials_are_anonymous (DBusCredentials *credentials);
00082 dbus_bool_t _dbus_credentials_add_credentials (DBusCredentials *credentials,
00083 DBusCredentials *other_credentials);
00084
00085 dbus_bool_t _dbus_credentials_add_credential (DBusCredentials *credentials,
00086 DBusCredentialType which,
00087 DBusCredentials *other_credentials);
00088 DBUS_PRIVATE_EXPORT
00089 void _dbus_credentials_clear (DBusCredentials *credentials);
00090 DBUS_PRIVATE_EXPORT
00091 DBusCredentials* _dbus_credentials_copy (DBusCredentials *credentials);
00092 DBUS_PRIVATE_EXPORT
00093 dbus_bool_t _dbus_credentials_same_user (DBusCredentials *credentials,
00094 DBusCredentials *other_credentials);
00095 DBUS_PRIVATE_EXPORT
00096 dbus_bool_t _dbus_credentials_to_string_append (DBusCredentials *credentials,
00097 DBusString *string);
00098
00099 DBUS_END_DECLS
00100
00101 #endif