X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fsecurity%2Fprovisioning%2Finclude%2Finternal%2Fownershiptransfermanager.h;h=1d0aa244de11c31368af438a2ab5de767100043f;hb=7f00f942c39b7bc27c7eeecf213a239c3fe4173c;hp=bf7deed5d50148fbaa86a76cfe2ad2b3e43a6f92;hpb=9baaa75f4cad4072fbca4fb1b304c9c549e76905;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/security/provisioning/include/internal/ownershiptransfermanager.h b/resource/csdk/security/provisioning/include/internal/ownershiptransfermanager.h index bf7deed..1d0aa24 100644 --- a/resource/csdk/security/provisioning/include/internal/ownershiptransfermanager.h +++ b/resource/csdk/security/provisioning/include/internal/ownershiptransfermanager.h @@ -31,21 +31,10 @@ extern "C" { #endif // __cplusplus #define OXM_STRING_MAX_LENGTH 32 -#define WRONG_PIN_MAX_ATTEMP 5 +#define WRONG_PIN_MAX_ATTEMP 1 -/** - * Context for ownership transfer(OT) - */ -typedef struct OTMContext{ - void* userCtx; /**< Context for user.*/ - OCProvisionDev_t* selectedDeviceInfo; /**< Selected device info for OT. */ - OicUuid_t subIdForPinOxm; /**< Subject Id which uses PIN based OTM. */ - OCProvisionResultCB ctxResultCallback; /**< Function pointer to store result callback. */ - OCProvisionResult_t* ctxResultArray; /**< Result array having result of all device. */ - size_t ctxResultArraySize; /**< No of elements in result array. */ - bool ctxHasError; /**< Does OT process have any error. */ - int attemptCnt; -}OTMContext_t; +typedef struct OTMCallbackData OTMCallbackData_t; +typedef struct OTMContext OTMContext_t; /** * Do ownership transfer for the unowned devices. @@ -58,6 +47,17 @@ typedef struct OTMContext{ OCStackResult OTMDoOwnershipTransfer(void* ctx, OCProvisionDev_t* selectedDeviceList, OCProvisionResultCB resultCB); +/** + * API to set a allow status of OxM + * + * @param[in] oxm Owership transfer method (ref. OicSecOxm_t) + * @param[in] allowStatus allow status (true = allow, false = not allow) + * + * @return OC_STACK_OK in case of success and other value otherwise. + */ +OCStackResult OTMSetOxmAllowStatus(const OicSecOxm_t oxm, const bool allowStatus); + + /* *Callback for load secret for temporal secure session * @@ -66,7 +66,6 @@ OCStackResult OTMDoOwnershipTransfer(void* ctx, */ typedef OCStackResult (*OTMLoadSecret)(OTMContext_t* otmCtx); - /* * Callback for create secure channel using secret inputed from OTMLoadSecret callback */ @@ -75,19 +74,38 @@ typedef OCStackResult (*OTMCreateSecureSession)(OTMContext_t* otmCtx); /* * Callback for creating CoAP payload. */ -typedef char* (*OTMCreatePayloadCallback)(OTMContext_t* otmCtx); +typedef OCStackResult (*OTMCreatePayloadCallback)(OTMContext_t* otmCtx, uint8_t **payload, + size_t *size); /** * Required callback for performing ownership transfer */ -typedef struct OTMCallbackData{ +struct OTMCallbackData +{ OTMLoadSecret loadSecretCB; OTMCreateSecureSession createSecureSessionCB; OTMCreatePayloadCallback createSelectOxmPayloadCB; OTMCreatePayloadCallback createOwnerTransferPayloadCB; -}OTMCallbackData_t; +}; /** + * Context for ownership transfer(OT) + */ +struct OTMContext{ + void* userCtx; /**< Context for user.*/ + OCProvisionDev_t* selectedDeviceInfo; /**< Selected device info for OT. */ + OicUuid_t subIdForPinOxm; /**< Subject Id which uses PIN based OTM. */ + OCProvisionResultCB ctxResultCallback; /**< Function pointer to store result callback. */ + OCProvisionResult_t* ctxResultArray; /**< Result array having result of all device. */ + size_t ctxResultArraySize; /**< No of elements in result array. */ + bool ctxHasError; /**< Does OT process have any error. */ + OCDoHandle ocDoHandle; /**