]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/interfaces/Crc.nc
Add an async version of ReadRef.
[tinyos-2.x.git] / tos / interfaces / Crc.nc
index 4ecf0db053b188d3527abb98253046ef621244cf..a500ea9e630288ff6bfa6bd5cae3dd255bed23d5 100644 (file)
@@ -1,4 +1,4 @@
-/*                                                                      tab:2
+/*                                                                      
  *
  * "Copyright (c) 2000-2007 The Regents of the University of
  * California.  All rights reserved.
  * Compute the CRC-16 value of a byte array.
  *
  * @author Jonathan Hui <jwhui@cs.berkeley.edu>
+ * @author David Moss
  */
 interface Crc {
 
   /**
    * Compute the CRC-16 value of a byte array.
    *
-   * @param   buf A pointer to the buffer over which to compute CRC.
+   * @param   'void* COUNT(len) buf' A pointer to the buffer over which to compute CRC.
    * @param   len The length of the buffer over which to compute CRC.
    * @return  The CRC-16 value.
    */
-  command uint16_t crc16(void* buf, uint8_t len);
+  async command uint16_t crc16(void* buf, uint8_t len);
+  
+  /**
+   * Compute a generic CRC-16 using a given seed.  Used to compute CRC's
+   * of discontinuous data.
+   * 
+   * @param startCrc An initial CRC value to begin with
+   * @param 'void* COUNT(len) buf' A pointer to a buffer of data
+   * @param len The length of the buffer
+   * @return The CRC-16 value.
+   */
+  async command uint16_t seededCrc16(uint16_t startCrc, void *buf, uint8_t len);
+  
 }