About
Docs
Files
Support
Index

Essentials
AutoDocs
Library functions
Cooperate
Process mastering
Debug
Own debugging kit
FGE
Smart modeid pick
Loader
Shared lib. loader
Macros
Helper macros
Structs
All the structures
Logs
Library changelogs
Tools
Progs baked inside

MACROS
LP2IEEE()A
QBASEASSIGN()A
QBASEASSIGN2()A
QBASEDECL()A
QBASEDECL2()A
QBASEJUMPTAB()A
QBASELOCAL()A
QBASEPOINTER()A
QBASERESOLVE()A
QBASESLOTS()A
QDEV_HLP_ASMDIVU()A
QDEV_HLP_ASMMULU()A
QDEV_HLP_DELTAITER()A
QDEV_HLP_DELTASCAN()A
QDEV_HLP_DFUNC()A
QDEV_HLP_DIVUQUAD()A
QDEV_HLP_DSTOTV()A
QDEV_HLP_GETREG()A
QDEV_HLP_ISLISTEMPTY()A
QDEV_HLP_ITERATE()A
QDEV_HLP_MULUQUAD()A
QDEV_HLP_NOINTSEC()A
QDEV_HLP_NOSWITCH()A
QDEV_HLP_PROCDECL()A
QDEV_HLP_PROCEXIT()A
QDEV_HLP_REMOTE()A
QDEV_HLP_RESGLOB()A
QDEV_HLP_SETREG()A
QDEV_HLP_TASKDECL()A
QDEV_HLP_TVTODS()A
REGARG()A
REGVAR()A
__LOADA4()A
__SAVEA4()A
QDEVDEBUG()P
QDEVDEBUGIO()P
MFADD()I
MFCGE()I
MFCLE()I
MFCMP()I
MFDIV()I
MFFIX()I
MFFLT()I
MFMUL()I
MFSUB()I
MFVALUE()I
QDEV_HLP_ABS()I
QDEV_HLP_ADDTV()I
QDEV_HLP_ASMALIAS()I
QDEV_HLP_ASMENTRY()I
QDEV_HLP_BADDR()I
QDEV_HLP_BYTESPERROW()I
QDEV_HLP_EQUALIZEUC()I
QDEV_HLP_EQUALIZELC()I
QDEV_HLP_E_DIVULONG10()I
QDEV_HLP_FFPTOIEEE()I
QDEV_HLP_FLIP()I
QDEV_HLP_FNV32CSUM()I
QDEV_HLP_FNV32HASH()I
QDEV_HLP_IEEETOFFP()I
QDEV_HLP_LCOPYMEM()I
QDEV_HLP_LSHIFT64()I
QDEV_HLP_MAX()I
QDEV_HLP_MIN()I
QDEV_HLP_MKBADDR()I
QDEV_HLP_MKSTR()I
QDEV_HLP_MULU32X32()I
QDEV_HLP_N_DIVULONG10()I
QDEV_HLP_N_MULUXXX10()I
QDEV_HLP_NEG()I
QDEV_HLP_QUICKFILL()I
QDEV_HLP_SWAPQUAD()I
QDEV_HLP_POPCOUNT()I
QDEV_HLP_RASSIZE()I
QDEV_HLP_ROUNDPOW2()I
QDEV_HLP_RSHIFT64()I
QDEV_HLP_SUBTV()I
QDEV_HLP_SWAPLONG()I
QDEV_HLP_SWAPQUAD()I
QDEV_HLP_SWAPWORD()I



Q
D
E
V
_
H
L
P
_
F
N
V
3
2
C
S
U
M
(
)

SOURCE: qdev_macros.txt 1.16 (12/09/2014) English

                                 INDEP - PUBLIC
 ----------------------------------------------------------------------------

   NAME

      QDEV_HLP_FNV32CSUM() - Allows to compute FNV1a 32 bit
                             checksum.



   SYNOPSIS

      csum = QDEV_HLP_FNV32CSUM(ics, ptr, size);

      [ULONG] QDEV_HLP_FNV32CSUM(ULONG, [UBYTE *], [LONG]);



   FUNCTION

      This macro allows to checksum memory region using FNV
      alogorithm. Checksum is 32bit wide.



   INPUTS

      ics  - Hash base initlizer. This can be either FNV own
             prime or result from previous macro instance so
             that memory can be checksummed in blocks.

      ptr  - Memory address to start at.

      size - Size of that memory region.


   RETURNS

      Returns 32 bit FNV checksum or the initializer in the
      worst case.



   BASES

      None.



   NOTES

      None.



   SEE ALSO

      QDEV_HLP_FNV32HASH()



   EXAMPLE

      ...

      #include <proto/dos.h>
      #include <qdev.h>

      ULONG checksumfnv32(UBYTE *file)
      {
        UBYTE buf[1024];
        ULONG csum = QDEV_HLP_FNV32PRIME;
        LONG read;
        LONG fd;
        
        if ((fd = Open(file, MODE_OLDFILE)))
        {
          while ((read = Read(fd, buf, sizeof buf)) > 0)
          {
            csum = QDEV_HLP_FNV32CSUM(csum, buf, read); 
          }

          Close(fd);
        }

        return csum;
      }

      ...



   BUGS

      None known.



 ----------------------------------------------------------------------------
    



No more fear cus pure HTML is here!
Copyright (C) 2013-2014 by Burnt Chip Dominators