FILL_ATTR
FILL_ATTR(tpub, npub, CKA_TOKEN, &true_val, sizeof(true_val));
FILL_ATTR(tpub, npub, CKA_LABEL, plabel, strlen(plabel));
FILL_ATTR(tpub, npub, CKA_ENCRYPT, &false_val, sizeof(false_val));
FILL_ATTR(tpub, npub, CKA_VERIFY, &true_val, sizeof(true_val));
FILL_ATTR(tpub, npub, CKA_VERIFY_RECOVER, &false_val,
FILL_ATTR(tpub, npub, CKA_WRAP, &false_val, sizeof(false_val));
FILL_ATTR(tpub, npub, CKA_DERIVE, &false_val, sizeof(false_val));
FILL_ATTR(tpub, npub, CKA_MODULUS_BITS, &bits, sizeof(bits));
FILL_ATTR(tpub, npub, CKA_PUBLIC_EXPONENT, pubExponent,
FILL_ATTR(tpub, npub, CKA_ID, &keyid, sizeof(keyid));
FILL_ATTR(tpriv, npriv, CKA_TOKEN, &true_val, sizeof(true_val));
FILL_ATTR(tpriv, npriv, CKA_LABEL, plabel, strlen(plabel));
FILL_ATTR(tpriv, npriv, CKA_PRIVATE, &true_val, sizeof(true_val));
FILL_ATTR(tpriv, npriv, CKA_SENSITIVE, &true_val, sizeof(true_val));
FILL_ATTR(tpriv, npriv, CKA_DECRYPT, &false_val, sizeof(false_val));
FILL_ATTR(tpriv, npriv, CKA_SIGN, &true_val, sizeof(true_val));
FILL_ATTR(tpriv, npriv, CKA_SIGN_RECOVER, &false_val,
FILL_ATTR(tpriv, npriv, CKA_UNWRAP, &false_val, sizeof(false_val));
FILL_ATTR(tpriv, npriv, CKA_DERIVE, &false_val, sizeof(false_val));
FILL_ATTR(tpriv, npriv, CKA_ID, &keyid, sizeof(keyid));
FILL_ATTR(tpub, npub, CKA_TOKEN, &true_val, sizeof(true_val));
FILL_ATTR(tpub, npub, CKA_LABEL, plabel, strlen(plabel));
FILL_ATTR(tpub, npub, CKA_ENCRYPT, &false_val, sizeof(false_val));
FILL_ATTR(tpub, npub, CKA_VERIFY, &true_val, sizeof(true_val));
FILL_ATTR(tpub, npub, CKA_VERIFY_RECOVER, &false_val,
FILL_ATTR(tpub, npub, CKA_WRAP, &false_val, sizeof(false_val));
FILL_ATTR(tpub, npub, CKA_DERIVE, &false_val, sizeof(false_val));
FILL_ATTR(tpub, npub, CKA_EC_PARAMS, ecparams, ecparams_size);
FILL_ATTR(tpub, npub, CKA_ID, &keyid, sizeof(keyid));
FILL_ATTR(tpriv, npriv, CKA_TOKEN, &true_val, sizeof(true_val));
FILL_ATTR(tpriv, npriv, CKA_LABEL, plabel, strlen(plabel));
FILL_ATTR(tpriv, npriv, CKA_PRIVATE, &true_val, sizeof(true_val));
FILL_ATTR(tpriv, npriv, CKA_SENSITIVE, &true_val, sizeof(true_val));
FILL_ATTR(tpriv, npriv, CKA_DECRYPT, &false_val, sizeof(false_val));
FILL_ATTR(tpriv, npriv, CKA_SIGN, &true_val, sizeof(true_val));
FILL_ATTR(tpriv, npriv, CKA_SIGN_RECOVER, &false_val,
FILL_ATTR(tpriv, npriv, CKA_UNWRAP, &false_val, sizeof(false_val));
FILL_ATTR(tpriv, npriv, CKA_DERIVE, &false_val, sizeof(false_val));
FILL_ATTR(tpriv, npriv, CKA_ID, &keyid, sizeof(keyid));
FILL_ATTR(attrs, nattrs, CKA_CLASS, &key_class, sizeof(key_class));
FILL_ATTR(attrs, nattrs, CKA_ID, &keyid, sizeof(keyid));
FILL_ATTR(attrs, nattrs, CKA_CLASS, &key_class, sizeof(key_class));
FILL_ATTR(attrs, nattrs, CKA_ID, &keyid, sizeof(keyid));
FILL_ATTR(attrs, nattrs, CKA_KEY_TYPE, &key_type,