WizardsToolkit  1.0.7
authenticate.h
Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004 
00005   You may not use this file except in compliance with the License.
00006   obtain a copy of the License at
00007 
00008     http://www.wizards-toolkit.org/script/license.php
00009 
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   Wizard's Toolkit authentication methods.
00017 */
00018 #ifndef _WIZARDSTOOLKIT_AUTHENTICATE_H_
00019 #define _WIZARDSTOOLKIT_AUTHENTICATE_H_
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 #include "wizard/exception.h"
00026 #include "wizard/hash.h"
00027 #include "wizard/string_.h"
00028 
00029 /*
00030   Enum declarations.
00031 */
00032 typedef enum
00033 {
00034   UndefinedAuthenticate,
00035   SecretAuthenticateMethod,
00036   PublicAuthenticateMethod
00037 } AuthenticateMethod;
00038 
00039 typedef struct _AuthenticateInfo
00040   AuthenticateInfo;
00041 
00042 extern WizardExport AuthenticateInfo
00043   *AcquireAuthenticateInfo(const AuthenticateMethod,const char *,
00044     const HashType),
00045   *DestroyAuthenticateInfo(AuthenticateInfo *);
00046 
00047 extern WizardExport const char
00048   *GetAuthenticatePassphrase(const AuthenticateInfo *);
00049 
00050 extern WizardExport const StringInfo
00051   *GetAuthenticateId(const AuthenticateInfo *),
00052   *GetAuthenticateKey(const AuthenticateInfo *);
00053 
00054 extern WizardExport size_t
00055   GetAuthenticateKeyLength(const AuthenticateInfo *);
00056 
00057 extern WizardExport void
00058   SetAuthenticateId(AuthenticateInfo *,const StringInfo *),
00059   SetAuthenticateKeyLength(AuthenticateInfo *,const size_t),
00060   SetAuthenticatePassphrase(AuthenticateInfo *,const char *);
00061 
00062 extern WizardExport WizardBooleanType
00063   AuthenticateKey(AuthenticateInfo *,ExceptionInfo *),
00064   GenerateAuthenticateKey(AuthenticateInfo *,ExceptionInfo *);
00065 
00066 #if defined(__cplusplus) || defined(c_plusplus)
00067 }
00068 #endif
00069 
00070 #endif