summaryrefslogtreecommitdiffstats
path: root/moon-abe/cpabe-0.11/cpabe.h
blob: 6ce4c31f2ec7fc3abdaa7c320641485e67f8ee82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
	Include glib.h and pbc.h before including this file.

	This contains data structures and procedures common throughout the
	tools.
*/

/*
	TODO if ssl sha1 not available, use built in one (sha1.c)
*/

#define NUM_ATTR_BITS 32

GByteArray* suck_file( char* file );
void        spit_file( char* file, GByteArray* b );
void element_from_string( element_t h, char* s );
FILE* fopen_read_or_die( char* file );
FILE* fopen_write_or_die( char* file );
char* suck_file_str( char* file );
char* suck_stdin();
void die(char* fmt, ...);

GByteArray* aes_128_cbc_encrypt( GByteArray* pt, element_t k );
GByteArray* aes_128_cbc_decrypt( GByteArray* ct, element_t k );


#define CPABE_VERSION PACKAGE_NAME "%s " PACKAGE_VERSION "\n" \
"\n" \
"Parts Copyright (C) 2006, 2007 John Bethencourt and SRI International.\n" \
"This is free software released under the GPL, see the source for copying\n" \
"conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS\n" \
"FOR A PARTICULAR PURPOSE.\n" \
"\n" \
"Report bugs to John Bethencourt <bethenco@cs.berkeley.edu>.\n"