1 #ifndef CVM__V1CLIENT__H__ 2 #define CVM__V1CLIENT__H__ 3 4 #include "facts.h" 5 #include "errors.h" 6 7 #define CVM_BUFSIZE 512 8 9 struct cvm_packet 10 { 11 unsigned length; 12 unsigned char data[CVM_BUFSIZE]; 13 }; 14 15 extern const char* cvm_client_account_split_chars; 16 extern const char* cvm_client_ucspi_domain(void); 17 extern int cvm_client_authenticate(const char* module, const char* account, 18 const char* domain, const char** credentials, 19 int parse_account); 20 extern int cvm_client_fact_str(unsigned number, const char** data); 21 extern int cvm_client_fact_uint(unsigned number, unsigned long* data); 22 23 extern int cvm_client_setugid(void); 24 extern int cvm_client_setenv(void); 25 26 extern unsigned cvm_xfer_command_packets(const char* module, 27 const struct cvm_packet* request, 28 struct cvm_packet* response); 29 extern unsigned cvm_xfer_local_packets(const char* path, 30 const struct cvm_packet* request, 31 struct cvm_packet* response); 32 extern unsigned cvm_xfer_udp_packets(const char* hostport, 33 const struct cvm_packet* request, 34 struct cvm_packet* response); 35 36 /* Wrapper functions for library compatibility. */ 37 extern unsigned cvm_xfer_command(const char* module, 38 unsigned char buffer[CVM_BUFSIZE], 39 unsigned* buflen); 40 extern unsigned cvm_xfer_local(const char* path, 41 unsigned char buffer[CVM_BUFSIZE], 42 unsigned* buflen); 43 extern unsigned cvm_xfer_udp(const char* hostport, 44 unsigned char buffer[CVM_BUFSIZE], 45 unsigned* buflen); 46 47 #ifndef CVM_NOCOMPAT 48 49 /* Legacy definitions. */ 50 #define cvm_account_split_chars cvm_client_account_split_chars 51 #define cvm_ucspi_domain cvm_client_ucspi_domain 52 #define cvm_setugid cvm_client_setugid 53 #define cvm_setenv cvm_client_setenv 54 #define cvm_split_account cvm_client_split_account 55 56 #ifndef CVM__MODULE__H__ 57 # define cvm_authenticate cvm_client_authenticate 58 # define cvm_fact_str cvm_client_fact_str 59 # define cvm_fact_uint cvm_client_fact_uint 60 #else 61 # undef cvm_authenticate 62 # undef cvm_fact_str 63 # undef cvm_fact_uint 64 #endif 65 66 #endif 67 68 #endif 69