#ifndef CACKEY_CHROME_CACKEY_H #define CACKEY_CHROME_CACKEY_H 1 # ifdef __cplusplus extern "C" { # endif #include <stddef.h> struct cackey_certificate { size_t certificate_len; void *certificate; }; struct cackey_reader { char *reader; bool cardInserted; }; typedef enum { CACKEY_CHROME_OK, CACKEY_CHROME_ERROR, CACKEY_CHROME_NEEDLOGIN, CACKEY_CHROME_NEEDPROTECTEDLOGIN } cackey_chrome_returnType; int cackey_chrome_listCertificates(struct cackey_certificate **certificates); void cackey_chrome_freeCertificates(struct cackey_certificate *certificates, int certificatesCount); int cackey_chrome_listReaders(struct cackey_reader **readers); void cackey_chrome_freeReaders(struct cackey_reader *readers, int readersCount); cackey_chrome_returnType cackey_chrome_signMessage(struct cackey_certificate *certificate, void *data, unsigned long dataLength, void *destination, unsigned long *destinationLength, char **pinPrompt, const char *pin); void cackey_chrome_terminate(void); # ifdef __cplusplus } # endif #endif