00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _OSL_SECURITY_H_
00021 #define _OSL_SECURITY_H_
00022
00023 #include "sal/config.h"
00024
00025 #include "rtl/ustring.h"
00026 #include "sal/saldllapi.h"
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00032 typedef enum {
00033 osl_Security_E_None,
00034 osl_Security_E_UserUnknown,
00035 osl_Security_E_WrongPassword,
00036 osl_Security_E_Unknown,
00037 osl_Security_E_FORCE_EQUAL_SIZE = SAL_MAX_ENUM
00038 } oslSecurityError;
00039
00045 typedef void* oslSecurity;
00046
00053 SAL_DLLPUBLIC oslSecurity SAL_CALL osl_getCurrentSecurity(void);
00054
00066 SAL_DLLPUBLIC oslSecurityError SAL_CALL osl_loginUser(
00067 rtl_uString *strUserName,
00068 rtl_uString *strPasswd,
00069 oslSecurity *pSecurity
00070 );
00071
00084 SAL_DLLPUBLIC oslSecurityError SAL_CALL osl_loginUserOnFileServer(
00085 rtl_uString *strUserName,
00086 rtl_uString *strPasswd,
00087 rtl_uString *strFileServer,
00088 oslSecurity *pSecurity
00089 );
00090
00095 SAL_DLLPUBLIC sal_Bool SAL_CALL osl_isAdministrator(
00096 oslSecurity Security);
00097
00102 SAL_DLLPUBLIC void SAL_CALL osl_freeSecurityHandle(
00103 oslSecurity Security);
00104
00110 SAL_DLLPUBLIC sal_Bool SAL_CALL osl_getUserIdent(
00111 oslSecurity Security, rtl_uString **strIdent);
00112
00118 SAL_DLLPUBLIC sal_Bool SAL_CALL osl_getUserName(
00119 oslSecurity Security, rtl_uString **strName);
00120
00126 SAL_DLLPUBLIC sal_Bool SAL_CALL osl_getHomeDir(
00127 oslSecurity Security, rtl_uString **strDirectory);
00128
00134 SAL_DLLPUBLIC sal_Bool SAL_CALL osl_getConfigDir(
00135 oslSecurity Security, rtl_uString **strDirectory);
00136
00137
00144 SAL_DLLPUBLIC sal_Bool SAL_CALL osl_loadUserProfile(
00145 oslSecurity Security);
00146
00147
00154 SAL_DLLPUBLIC void SAL_CALL osl_unloadUserProfile(
00155 oslSecurity Security);
00156
00157 #ifdef __cplusplus
00158 }
00159 #endif
00160
00161 #endif
00162
00163