Can someone please help me to convert the below given C language code to C# or VB.NET or any Microsoft Language? I need to use the functions written in this class from a ASP.NET website. Or Suggest me any other way to use the functions in my ASP.NET from from this C class.
#include "qxdefs.h"
#define MOD_ADLER 65521
#define OVR_LIMIT 5550
#define SIXTY4K 65536
unsigned long a = 1, b = 0;
int nc = 0;
int fgl_init_checksum(int argc) {
a = 1;
b = 0;
nc = 0;
if(argc != 0)
Abort("fgl_init_checksum()",1,-1318);
return(0);
}
void fold_down(void) {
a = ( a & 0xffff ) + ( a >>16 ) * ( SIXTY4K - MOD_ADLER);
b = ( b & 0xffff ) + ( b >>16 ) * ( SIXTY4K - MOD_ADLER);
nc = 0;
}
int fgl_add_chk_string(int argc) {
char str_in[201];
int len;
int i;
unsigned char *data;
if(argc != 1 )
Abort("fgl_add_chk_string()",1,-1318);
memset(str_in,' ',200); str_in[200]= 0;
VarPop(SQLCHAR,str_in,sizeof(str_in)-1);
len = ClipLen(str_in,sizeof(str_in));
str_in[len] = 0;
data = ( unsigned char * ) str_in;
for ( i = 0; i<len;> nc ++;
if ( nc > OVR_LIMIT ) fold_down();
a += *data++;
b += a;
}
return(0);
}
int fgl_checksum(int argc) {
unsigned long n=0;
char cs[21];
if(argc != 0)
Abort("fgl_checksum()",1,-1318);
memset(cs,' ',20); cs[20]=0;
if ( nc > 0 ) fold_down();
if ( a >= MOD_ADLER )
a -= MOD_ADLER;
b = ( b & 0xffff) + ( b >> 16 ) * ( SIXTY4K - MOD_ADLER );
if ( b >= MOD_ADLER )
b -= MOD_ADLER;
n = ( b << 16 ) | a;
sprintf(cs,"%X",n);
StringPush(cs);
status = VarPop(SQLCHAR, cs, 21, 0);
VarPush(SQLCHAR, cs, 20, 0);
status = ArgRet(1);
if (status < 0)
{
Abort("fgl_checksum", 16, status);
}
return(1);
}