URI: 
       tconvT2M.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tconvT2M.c (558B)
       ---
            1 #include <u.h>
            2 #include <libc.h>
            3 #include <authsrv.h>
            4 
            5 #define        CHAR(x)                *p++ = f->x
            6 #define        SHORT(x)        p[0] = f->x; p[1] = f->x>>8; p += 2
            7 #define        VLONG(q)        p[0] = (q); p[1] = (q)>>8; p[2] = (q)>>16; p[3] = (q)>>24; p += 4
            8 #define        LONG(x)                VLONG(f->x)
            9 #define        STRING(x,n)        memmove(p, f->x, n); p += n
           10 
           11 int
           12 convT2M(Ticket *f, char *ap, char *key)
           13 {
           14         int n;
           15         uchar *p;
           16 
           17         p = (uchar*)ap;
           18         CHAR(num);
           19         STRING(chal, CHALLEN);
           20         STRING(cuid, ANAMELEN);
           21         STRING(suid, ANAMELEN);
           22         STRING(key, DESKEYLEN);
           23         n = p - (uchar*)ap;
           24         if(key)
           25                 encrypt(key, ap, n);
           26         return n;
           27 }