void surfpcs_init(&s,seed);
void surfpcs_add(&s,buf,len);
void surfpcs_out(&s,h);
surfpcs s;
uint32 seed[32];
unsigned char *buf;
unsigned int len;
unsigned char h[SURFPCS_LEN];
Applying surfpcs takes three steps. First, initialize a surfpcs variable, s, with surfpcs_init. The seed will be recorded inside s.
Second, feed the input to surfpcs_add. buf is a pointer to len characters of input. You can split the input across any number of surfpcs_add calls.
Third, call surfpcs_out. The output will be placed into h, an array of SURFPCS_LEN bytes. SURFPCS_LEN is 32.
To apply surfpcs to another input you must call surfpcs_init again.