- struct { /* directory record */
- ulong lid;
- ulong keylist; /* List of keys (the first is the primary key)*/
- ulong uidlist; /* list of uid records */
- ulong cacherec; /* the cache record */
- byte ownertrust;
- byte sigflag;
- } dir;
- struct { /* primary public key record */
- ulong lid;
- ulong next; /* next key */
- byte pubkey_algo;
- byte fingerprint_len;
- byte fingerprint[20];
- } key;
- struct { /* user id reord */
- ulong lid; /* point back to the directory record */
- ulong next; /* points to next user id record */
- ulong prefrec; /* recno of preference record */
- ulong siglist; /* list of valid signatures (w/o self-sig)*/
- byte namehash[20]; /* ripemd hash of the username */
- } uid;
- struct { /* preference reord */
- ulong lid; /* point back to the directory record */
- /* or 0 for a glocal pref record */
- ulong next; /* points to next pref record */
- } pref;
- struct { /* signature record */
- ulong lid;
- ulong next; /* recnno of next record or NULL for last one */
- struct {
- ulong lid; /* of pubkey record of signator (0=unused) */
- byte flag; /* reserved */
- } sig[SIGS_PER_RECORD];
- } sig;
- struct { /* cache record */
- ulong lid;
- byte blockhash[20];
- byte trustlevel; /* calculated trustlevel */
- } cache;