WizardsToolkit  1.0.7
random_.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 random number methods.
00017 */
00018 #ifndef _WIZARDSTOOLKIT_RANDOM_H
00019 #define _WIZARDSTOOLKIT_RANDOM_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 #include "wizard/hmac.h"
00026 
00027 /*
00028   Typedef declarations.
00029 */
00030 typedef struct _RandomInfo
00031   RandomInfo;
00032 
00033 /*
00034   Method declarations.
00035 */
00036 extern WizardExport double
00037   GetPseudoRandomValue(RandomInfo *),
00038   GetRandomValue(RandomInfo *);
00039 
00040 extern WizardExport RandomInfo
00041   *AcquireRandomInfo(const HashType),
00042   *DestroyRandomInfo(RandomInfo *);
00043 
00044 extern WizardExport StringInfo
00045   *GetRandomKey(RandomInfo *,const size_t);
00046 
00047 extern WizardExport void
00048   RandomComponentTerminus(void),
00049   SeedPseudoRandomGenerator(const unsigned long),
00050   SetRandomKey(RandomInfo *,const size_t,unsigned char *),
00051   SetRandomTrueRandom(const WizardBooleanType);
00052 
00053 extern WizardExport WizardBooleanType
00054   RandomComponentGenesis(void);
00055 
00056 #if defined(__cplusplus) || defined(c_plusplus)
00057 }
00058 #endif
00059 
00060 #endif