ucspi-ssl  0.99e
TLS encryption for IPv6 communication
taia_sub.c
Go to the documentation of this file.
1 /* Public domain. */
2 
3 #include "taia.h"
4 
5 /* XXX: breaks tai encapsulation */
6 
7 void taia_sub(struct taia *t,const struct taia *u,const struct taia *v)
8 {
9  unsigned long unano = u->nano;
10  unsigned long uatto = u->atto;
11 
12  t->sec.x = u->sec.x - v->sec.x;
13  t->nano = unano - v->nano;
14  t->atto = uatto - v->atto;
15  if (t->atto > uatto) {
16  t->atto += 1000000000UL;
17  --t->nano;
18  }
19  if (t->nano > unano) {
20  t->nano += 1000000000UL;
21  --t->sec.x;
22  }
23 }
unsigned long atto
Definition: taia.h:11
Definition: taia.h:8
struct tai sec
Definition: taia.h:9
unsigned long nano
Definition: taia.h:10
uint64 x
Definition: tai.h:9
void taia_sub(struct taia *t, const struct taia *u, const struct taia *v)
Definition: taia_sub.c:7