CASA/LoginCapture/windows/external/xplatapi/include/nwssdefs.h
2005-10-11 19:51:00 +00:00

203 lines
6.3 KiB
C

/******************************************************************************
%name: nwssdefs.h %
%version: 1 %
%date_modified: Mon Aug 08 13:09:02 2005 %
$Copyright:
Copyright (c) 1996 Novell, Inc. All Rights Reserved.
THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND
TREATIES. NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED
COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED, CONDENSED,
EXPANDED, COLLECTED, COMPILED, LINKED, RECAST, TRANSFORMED OR ADAPTED
WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION
OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO
CRIMINAL AND CIVIL LIABILITY.$
*****************************************************************************/
#ifndef NWSSDEFS_H
#define NWSSDEFS_H
#ifndef NTYPES_H
#include "ntypes.h"
#endif
#ifndef NWDSDEFS_H
#include "nwdsdefs.h"
#endif
#ifndef NWDSDC_H
#include "nwdsdc.h"
#endif
#ifndef NWDSDC_H
#include "nwdsdc.h"
#endif
#ifndef __NWDSERR_H
#include "nwdserr.h"
#endif
/* ##################### DECLARATIONS START HERE ######################### */
#define NWSS_GLOBAL_RCODE N_EXTERN_LIBRARY(NWRCODE)
/* ############################## ERROR CODES ############################ */
#define NWSS_SUCCESS 0x00000000 /* 0 */
#define NWSS_ERR_BAD_HANDLE 0xFFFFFCE0 /* -800 */
#define NWSS_ERR_ENCODING_ASN1ID 0xFFFFFCDF /* -801 */
#define NWSS_ERR_INVALID_APP 0xFFFFFCDE /* -802 */
#define NWSS_ERR_APP_EXISTS 0xFFFFFCDD /* -803 */
#define NWSS_ERR_ACCESS_DENIED 0xFFFFFCDC /* -804 */
#define NWSS_ERR_OBJ_READ_FAILED 0xFFFFFCDB /* -805 */
#define NWSS_ERR_KEYCHAIN_EXISTS 0xFFFFFCDA /* -806 */
#define NWSS_ERR_CMC_FAILURE 0xFFFFFCD9 /* -807 */
#define NWSS_ERR_INVALID_KEYCHAIN 0xFFFFFCD8 /* -808 */
#define NWSS_ERR_SHORT_ASN1ID 0xFFFFFCD7 /* -809 */
#define NWSS_ERR_ID_EXISTS 0xFFFFFCD6 /* -810 */
#define NWSS_ERR_INVALID_USER_ID 0xFFFFFCD5 /* -811 */
#define NWSS_ERR_HANDLE_ALLOC_FAILED 0xFFFFFCD4 /* -812 */
#define NWSS_ERR_NOT_LOGGED_IN 0xFFFFFCD3 /* -813 */
#define NWSS_ERR_ALREADY_REVOKED 0xFFFFFCD2 /* -814 */
#define NWSS_ERR_SECRET_ALREADY_EXIST 0xFFFFFCD1 /* -815 */
#define NWSS_ERR_ILLEGAL_PASSWORD 0xFFFFFCD0 /* -816 */
#define NWSS_ERR_WRONG_VERSION 0xFFFFFCCF /* -817 */
#define NWSS_ERR_POLICY_RES_FAILED 0xFFFFFCCE /* -818 */
#define NWSS_ERR_TTS_DISABLED 0xFFFFFCCD /* -819 */
#define NWSS_ERR_NO_NDS_CONTEXT 0xFFFFFCCC /* -820 */
#define NWSS_ERR_KC_SCHEMA_EXT_FAILED 0xFFFFFCCB /* -821 */
#define NWSS_ERR_APP_SCHEMA_EXT_FAILED 0xFFFFFCCA /* -822 */
#define NWSS_ERR_MEM_ALLOC_FAILED 0xFFFFFCC9 /* -823 */
#define NWSS_ERR_OBJ_CREATION_FAILED 0xFFFFFCC8 /* -824 */
#define NWSS_ERR_BAD_POINTER 0xFFFFFCC7 /* -825 */
#define NWSS_ERR_OBJ_MODIFY_FAILED 0xFFFFFCC6 /* -826 */
#define NWSS_ERR_CANT_REMOVE_KC 0xFFFFFCC5 /* -827 */
#define NWSS_ERR_ASN1ID_NOT_EQUAL 0xFFFFFCC4 /* -828 */
/* ########################### FLAG DEFINITIONS ######################### */
/* application flags */
#define SS_APP_ENABLED_C 0x0001
/* Secret Store Application flags */
#define SS_MODIFYENABLED_C 0x0001
/* ########################### STRUCTURED DEFINITIONS ######################### */
/* String and Data type */
typedef struct _ss_string_type
{
nuint16 length;
nuint8 *dataByte;
} SS_Data_T;
/* Distinguished name type */
typedef nuint8 SS_DN_T;
/* Case Ignore String */
typedef SS_Data_T SS_String_T;
/* Application User ID */
typedef SS_Data_T SS_AppUID_T;
/* Application Secrets Contents */
typedef SS_Data_T SS_AppSC_T;
/* ASN1 ID */
typedef SS_Data_T SS_ASN1ID_T;
/* User Name List */
typedef struct _ss_app_uid_list
{
nuint16 userCount;
SS_AppUID_T N_FAR *userID[MAX_RDN_BYTES];
} SS_AppUIDList_T;
/* Keychain List */
typedef struct _ss_keychain_list
{
SS_DN_T appName[MAX_DN_BYTES];
nuint16 kcDNCount;
SS_DN_T N_FAR *kcDN[MAX_DN_BYTES];
} SS_KeychainList_T;
/* ########################## FUNCTION PROTOTYPES ######################### */
/******************************************************************
************************** ENABLING APIS *************************
******************************************************************/
NWSS_GLOBAL_RCODE NWSSOpenSecretStore
(
nuint32 N_FAR *ssHandle,
SS_DN_T N_FAR *owner,
SS_ASN1ID_T N_FAR *appID,
SS_KeychainList_T N_FAR *kcDN,
SS_AppUIDList_T N_FAR *appUID
);
NWSS_GLOBAL_RCODE NWSSCloseSecretStore
(
nuint32 ssHandle
);
NWSS_GLOBAL_RCODE NWSSAppUserLogin
(
nuint32 ssHandle,
nuint16 N_FAR *flags,
SS_DN_T N_FAR *appDN,
SS_DN_T N_FAR *kcDN,
SS_AppUID_T N_FAR *userID,
SS_AppSC_T N_FAR *appSecrets
);
NWSS_GLOBAL_RCODE NWSSSaveAppSecretsOnKeychain
(
nuint32 ssHandle,
SS_DN_T N_FAR *appDN,
SS_DN_T N_FAR *kcDN,
SS_AppUID_T N_FAR *userID,
SS_AppSC_T N_FAR *appSecrets
);
NWSS_GLOBAL_RCODE NWSSRevokeKeychain
(
nuint32 ssHandle,
SS_DN_T N_FAR *kcDN
);
NWSS_GLOBAL_RCODE NWSSEncodeAppASN1ID
(
nuint16 N_FAR *oid,
SS_ASN1ID_T N_FAR *appID
);
NWSS_GLOBAL_RCODE NWSSSetDefaultAppUserID
(
nuint32 ssHandle,
SS_DN_T N_FAR *owner,
SS_KeychainList_T N_FAR *kcDN,
SS_AppUIDList_T N_FAR *userID
);
/* ########################## CODE ENDS HERE ##################### */
#endif /* NWSSDEFS_H */