Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

mpnumber.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003 Bob Deblier
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017  *
00018  */
00019 
00026 #ifndef _MPNUMBER_H
00027 #define _MPNUMBER_H
00028 
00029 #include "mp.h"
00030 
00031 typedef struct
00032 {
00033     size_t  size;
00034     mpw*    data;
00035 } mpnumber;
00036 
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040 
00041 BEECRYPTAPI
00042 void mpnzero(mpnumber*);
00043 BEECRYPTAPI
00044 void mpnsize(mpnumber*, size_t);
00045 BEECRYPTAPI
00046 void mpninit(mpnumber*, size_t, const mpw*);
00047 BEECRYPTAPI
00048 void mpnfree(mpnumber*);
00049 BEECRYPTAPI
00050 void mpncopy(mpnumber*, const mpnumber*);
00051 BEECRYPTAPI
00052 void mpnwipe(mpnumber*);
00053 
00054 BEECRYPTAPI
00055 void mpnset   (mpnumber*, size_t, const mpw*);
00056 BEECRYPTAPI
00057 void mpnsetw  (mpnumber*, mpw);
00058 BEECRYPTAPI
00059 void mpnsethex(mpnumber*, const char*);
00060 
00061 BEECRYPTAPI
00062 int  mpninv(mpnumber*, const mpnumber*, const mpnumber*);
00063 
00064 #ifdef __cplusplus
00065 }
00066 #endif
00067 
00068 #endif

Generated on Wed Mar 24 13:56:53 2004 for BeeCrypt by doxygen 1.3.6