GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  STRING::LRC (3)

.ds Aq ’

NAME

LRC - Perl interface for longitudinal redundancy check generation

CONTENTS

SYNOPSIS



    use String::LRC;
    $lrc = lrc("string to get lrc of");



DESCRIPTION

The Longitudinal Redundancy Check (LRC) is a one byte character, commonly used as a byte-field in data transmission over analog systems.

Most commonly, in STX-ETX bounded strings sent in financial protocols. Following some previous experience with such protocols, I wrote an LRC function in perl and later decided to re-write in C for efficiency. The result is this module String::LRC, which generates this aforementioned byte.

EXAMPLES



    use String::LRC;
    $lrc = lrc("string to get lrc of");

  Commonly used in financial protocols as follows with ETX (ASCII 03)
  appended to LRC sum and packets after the STX (ASCII 02), payload,
  and ETX chars. 

    use String::LRC;
    $outboundString = chr(02) . $outboundString . chr(03)
                        . lrc($outboundString . chr(03));



You may also use String::LRC to get the LRC result of a file, following Soenke J. Peters’ example for CRC32. However, LRCs are really best used for line-by-line parity.



    use String::LRC;
    open(TESTFILE, "/path/to/test.file");
    $lrc = lrc(*TESTFILE);
    close(TESTFILE);



A init value may also been supplied in the above example.

AUTHOR

Ralph Padron <whoelse@elitedigital.net>

If you have any requests or bugs, send email to the above address (no spam please).

COPYRIGHT

License to use this module/library and make use of in derivative works is is granted to all, freely, provided that this module is identified as derived from R Padron and notice of other contributors be provided in any material referencing or mentioning this module. The author makes no representations of possessing full or partial copyright to the LRC code nor the algorythyms used in this module, as said is either public knowledge or inspired by multiple sources.

LRC algorithms taken from combination of sources:
        1. Public Specifications, EIS 1081, San Francisco, CA:
        
Visa, 1999



        2. QWEST Communications, Inc. Tech Publication 77359,
           Module 5, Issue 1, October 2001. pg 36.

        3. Tanenbaum, A. S., Computer Networks,  3rd ed. 
           pp. 186-190Amsterdam, The Netherlands: Vrije Univ., 1996.



The module is inspired by the previous uses the author has had for the LRC generation algorythm; Inspiration for and partial code snippets for initial value and lrc generation of file data provided from Soenke J. Peters’ String::CRC32.

The author makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided as is without express or implied warranty of any kind.

These notices must be retained in any copies of any part of this documentation and/or software.

SEE ALSO OR RELATED

<B>String::CRCB>, <B>String::CRC32B>, Device::SerialPort, Device::Modem.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 LRC (3) 2002-05-01

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.