On Wed, Aug 17, 2011 at 02:10:13PM +0200, Steffen Klassert wrote: > > +struct crypto_user_alg { > + char cru_name[CRYPTO_MAX_ALG_NAME]; > + char cru_driver_name[CRYPTO_MAX_ALG_NAME]; > + __u32 type; > + __u32 mask; > +}; > + > +#define CRYPTO_MAX_NAME CRYPTO_MAX_ALG_NAME > + > +struct crypto_report_base { > + char name[CRYPTO_MAX_ALG_NAME]; > + char driver_name[CRYPTO_MAX_ALG_NAME]; > + char module_name[CRYPTO_MAX_NAME]; > + char selftest[CRYPTO_MAX_NAME]; > + int priority; > + int refcnt; > +}; We should use one structure for both creating algorithms and querying them. User-space can leave the query fields blank when creating them. On another note, all fields specified when creating an algorithm should be returned when querying/reporting. This is so that we can recreate the exact configuration after dumping. Also, instead of returning selftest as a string, a single bit would suffice. So I'd suggest turning it into flags of type __u32. In fact, let's turn the other two int fields into __u32 too. Sorry for not pointing this out earlier. But we need to get this right the first time as we'll be stuck with the interface for ever. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html