Mercurial > dropbear
comparison dbutil.h @ 614:00eca37e47e8
Add noreturn and format attribute hints for some functions.
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 07 Apr 2011 12:59:18 +0000 |
parents | 005530560594 |
children | 2b1bb792cd4d df11cb6a3665 |
comparison
equal
deleted
inserted
replaced
613:8cd04e707171 | 614:00eca37e47e8 |
---|---|
31 | 31 |
32 #ifndef DISABLE_SYSLOG | 32 #ifndef DISABLE_SYSLOG |
33 void startsyslog(); | 33 void startsyslog(); |
34 #endif | 34 #endif |
35 | 35 |
36 extern void (*_dropbear_exit)(int exitcode, const char* format, va_list param); | 36 #ifdef __GNUC__ |
37 #define ATTRIB_PRINTF(fmt,args) __attribute__((format(printf, fmt, args))) | |
38 #else | |
39 #define ATTRIB_PRINTF(fmt,args) | |
40 #endif | |
41 | |
42 #ifdef __GNUC__ | |
43 #define ATTRIB_NORETURN __attribute__((noreturn)) | |
44 #else | |
45 #define ATTRIB_NORETURN | |
46 #endif | |
47 | |
48 extern void (*_dropbear_exit)(int exitcode, const char* format, va_list param) ATTRIB_NORETURN; | |
37 extern void (*_dropbear_log)(int priority, const char* format, va_list param); | 49 extern void (*_dropbear_log)(int priority, const char* format, va_list param); |
38 | 50 |
39 void dropbear_exit(const char* format, ...); | 51 void dropbear_exit(const char* format, ...) ATTRIB_PRINTF(1,2) ATTRIB_NORETURN; |
40 void dropbear_close(const char* format, ...); | 52 |
41 void dropbear_log(int priority, const char* format, ...); | 53 void dropbear_close(const char* format, ...) ATTRIB_PRINTF(1,2) ; |
42 void fail_assert(const char* expr, const char* file, int line); | 54 void dropbear_log(int priority, const char* format, ...) ATTRIB_PRINTF(2,3) ; |
55 | |
56 void fail_assert(const char* expr, const char* file, int line) ATTRIB_NORETURN; | |
57 | |
43 #ifdef DEBUG_TRACE | 58 #ifdef DEBUG_TRACE |
44 void dropbear_trace(const char* format, ...); | 59 void dropbear_trace(const char* format, ...) ATTRIB_PRINTF(1,2); |
45 void printhex(const char * label, const unsigned char * buf, int len); | 60 void printhex(const char * label, const unsigned char * buf, int len); |
46 extern int debug_trace; | 61 extern int debug_trace; |
47 #endif | 62 #endif |
63 | |
48 char * stripcontrol(const char * text); | 64 char * stripcontrol(const char * text); |
49 void get_socket_address(int fd, char **local_host, char **local_port, | 65 void get_socket_address(int fd, char **local_host, char **local_port, |
50 char **remote_host, char **remote_port, int host_lookup); | 66 char **remote_host, char **remote_port, int host_lookup); |
51 void getaddrstring(struct sockaddr_storage* addr, | 67 void getaddrstring(struct sockaddr_storage* addr, |
52 char **ret_host, char **ret_port, int host_lookup); | 68 char **ret_host, char **ret_port, int host_lookup); |