/* ipwps_credentials.h - IPWPS Credentials module header file */ /* * Copyright (c) 2009 Wind River Systems, Inc. * * The right to copy, distribute, modify, or otherwise make use * of this software may be licensed only pursuant to the terms * of an applicable Wind River license agreement. * */ /* modification history -------------------- 01a,28Apr09,mry Created */ #ifndef IPWPS_CREDENTIALS_H #define IPWPS_CREDENTIALS_H /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #include #include #include "ipwps_common.h" #ifdef __cplusplus extern "C" { #endif /* **************************************************************************** * 4 DEFINES **************************************************************************** */ #define IPWPS_CREDENTIAL_AP_SETID 0 #define IPWPS_CREDENTIAL_BULTIN_REG_SETID 1 /* **************************************************************************** * 5 TYPES **************************************************************************** */ typedef enum { IPWPS_CREDENTIAL_ADD, IPWPS_CREDENTIAL_DELETE } Ipwps_credential_notify_type; typedef void (*Ipwps_credentials_notify_fn)(struct Ipwps_ctx_st* ctx, Ip_u16 setid, Ipwps_credential_notify_type ntype); /* **************************************************************************** * 6 FUNCTIONS **************************************************************************** */ /* *=========================================================================== * ipwps_credentials_init *=========================================================================== * Description: * Initialize the IPWPS Credentials module. * Called by the core module in the ipwpsd context BEFORE the wps application * init functions are called. * Parameters: * Ipwps_ctx* ctx - A valid configured wps context. * Returns: * IPCOM_SUCCESS upon success, otherwise a failure indication */ IP_GLOBAL Ip_err ipwps_credentials_init ( struct Ipwps_ctx_st* ctx ); /* *=========================================================================== * ipwps_credentials_shutdown *=========================================================================== * Description: * Shutdown the IPWPS Credentials module. * Called by the core module in the ipwpsd context when shut down or reconfigured. * Parameters: * Ipwps_ctx* ctx - A valid configured wps context. * Returns: * IPCOM_SUCCESS upon success, otherwise a failure indication */ IP_GLOBAL Ip_err ipwps_credentials_shutdown ( struct Ipwps_ctx_st* ctx ); /* *=========================================================================== * ipwps_credentials_clear *=========================================================================== * Description: * Clear the IPWPS Credentials. * Called by the core module in the ipwpsd context ONLY when shutdown * NOT when reconfigured. * Parameters: * Ipwps_ctx* ctx - A valid configured wps context. * Returns: * IPCOM_SUCCESS upon success, otherwise a failure indication */ IP_GLOBAL Ip_err ipwps_credentials_clear ( struct Ipwps_ctx_st* ctx ); /* *=========================================================================== * ipwps_credentials_handle_event *=========================================================================== * Description: Handle a credentials event stored in the ipwps context. * Parameters: * Ipwps_ctx* ctx - A valid Ready wps context. * Returns: * IPCOM_SUCCESS if successful, an error indication otherwise. */ IP_GLOBAL Ip_err ipwps_credentials_handle_event ( struct Ipwps_ctx_st *ctx ); /* *=========================================================================== * ipwps_credentials_notify_register *=========================================================================== * Description: Register a notification function that will be called when * a credential set is added or deleted. * Parameters: * Ipwps_ctx* ctx - A valid Ready wps context. * Ipwps_credentials_notify_fn notify_fn - Notification fn to register. * Returns: * */ IP_GLOBAL Ip_err ipwps_credentials_notify_register( Ipwps_ctx* ctx, Ipwps_credentials_notify_fn notify_fn ); /* *=========================================================================== * ipwps_credentials_notify_deregister *=========================================================================== * Description: Deregister a credential notification function. * Parameters: * Ipwps_ctx* ctx - A valid Ready wps context. * Ipwps_credentials_notify_fn notify_fn - Notification fn to deregister. * Returns: * */ IP_GLOBAL Ip_err ipwps_credentials_notify_deregister ( Ipwps_ctx* ctx, Ipwps_credentials_notify_fn notify_fn ); /* *=========================================================================== * ipwps_credentials_mark_registrar_cred *=========================================================================== * Description: Set/reset the "donotoffer" flag for the specified registrar * credential * Parameters: * Ipwps_ctx* ctx - A valid Ready wps context. * Ip_u16 cred_set - Registrar credential Set (0..IPWPS_NUM_CEDENTIALS_MAX-1) * Ip_bool donotoffer - Specify whether to set the flag to IP_TRUE or IP_FALSE. * If set to IP_TRUE, the credential set will not be offered to the enrollee * in the M8 message. * Returns: * */ IP_GLOBAL Ip_err ipwps_credentials_mark_registrar_cred ( Ipwps_ctx* ctx, Ip_u16 cred_set, Ip_bool donotoffer ); /* *=========================================================================== * ipwps_credentials_unmark_all_registrar_creds *=========================================================================== * Description: Reset the "donotoffer" flag for all registrar credentials * Parameters: * Ipwps_ctx* ctx - A valid Ready wps context. * Returns: * */ IP_GLOBAL Ip_err ipwps_credentials_unmark_all_registrar_creds ( Ipwps_ctx* ctx ); /* **************************************************************************** * END OF FILE **************************************************************************** */ #ifdef __cplusplus } #endif #endif