SFVPad man page on MirBSD

Man page or keyword search:  
man Server   6113 pages
apropos Keyword Search (all sections)
Output format
MirBSD logo
[printable version]

SFV(3)			   BSD Programmer's Manual			SFV(3)

NAME
     SFVInit, SFVUpdate, SFVPad, SFVFinal, SFVEnd, SFVFile, SFVFileChunk,
     SFVData - calculate the SFV checksum

SYNOPSIS
     #include <sys/types.h>
     #include <sfv.h>

     void
     SFVInit(SFV_CTX *ctx);

     void
     SFVUpdate(SFV_CTX *ctx, const uint8_t *data, size_t noctets);

     void
     SFVPad(SFV_CTX *ctx);

     void
     SFVFinal(uint8_t digest[SFV_DIGEST_LENGTH], SFV_CTX *ctx);

     char *
     SFVEnd(SFV_CTX *ctx, char *digest);

     char *
     SFVFile(const char *filename, char *digest);

     char *
     SFVFileChunk(const char *filename, char *digest, off_t offset,
	     off_t length);

     char *
     SFVData(const uint8_t *data, size_t len, char *digest);

DESCRIPTION
     The SFV functions implement the 32-bit SFV cyclic redundancy checksum. It
     is often vulgarly known as CRC or CRC32. They share a similar API to the
     md5(3) interface.

     The SFVInit() function initialises a SFV_CTX context for use with SFVUp-
     date() and SFVFinal(). The SFVUpdate() function adds (condenses) data of
     length noctets to the context. SFVFinal() is called after processing and
     stores a message digest in the digest parameter.

     For a description of the other functions, please refer e.g. the rmd160(3)
     manual page.

EXAMPLES
     The follow code fragment will calculate the checksum for the string
     "abc", which is "352441C2".

	   SFV_CTX context;
	   uint8_t result[SFV_DIGEST_LENGTH];
	   const char buf[] = "abc";
	   size_t n = strlen(buf);

	   SFVInit(&context);
	   SFVUpdate(&context, buf, n);
	   SFVFinal(result, &context);

	   /* print the digest as one long sedecimal value */
	   printf("0x");
	   for (n = 0; n < SFV_DIGEST_LENGTH; n++)
		   printf("%02X", result[n]);
	   putchar('\n');
     Alternately, the helper functions could be used in the following way:

	   SFV_CTX context;
	   uint8_t output[SFV_DIGEST_STRING_LENGTH];
	   const char buf[] = "abc";

	   printf("0x%s\n", SFVData(buf, strlen(buf), output));

SEE ALSO
     cksum(1), adler32(3), md4(3), md5(3), rmd160(3), sha1(3), sha2(3),
     suma(3), tiger(3), whirlpool(3)

     http://www.fodder.org/cksfv/

HISTORY
     The SFV functions appeared in MirOS #10.

AUTHORS
     This implementation of SFV was written by Thorsten Glaser <tg@mirbsd.de>
     and is compatible with Bryan Call's cksfv.

     The SFVEnd(), SFVFile(), SFVFileChunk(), and SFVData() helper functions
     are derived from code written by Poul-Henning Kamp.

MirOS BSD #10-current	      November 22, 2009				     1
[top]

List of man pages available for MirBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net