1 /* This software was written by Dirk Engling <erdgeist@erdgeist.org> 2 It is considered beerware. Prost. Skol. Cheers or whatever. 3 4 $id$ */ 5 6 #ifndef OT_STATS_H__ 7 #define OT_STATS_H__ 8 9 typedef enum { 10 EVENT_ACCEPT, 11 EVENT_READ, 12 EVENT_CONNECT, /* UDP only */ 13 EVENT_ANNOUNCE, 14 EVENT_COMPLETED, 15 EVENT_RENEW, 16 EVENT_SYNC, 17 EVENT_SCRAPE, 18 EVENT_FULLSCRAPE_REQUEST, 19 EVENT_FULLSCRAPE_REQUEST_GZIP, 20 EVENT_FULLSCRAPE, /* TCP only */ 21 EVENT_FAILED, 22 EVENT_BUCKET_LOCKED, 23 EVENT_WOODPECKER, 24 EVENT_CONNID_MISSMATCH 25 } ot_status_event; 26 27 enum { 28 CODE_HTTPERROR_302, 29 CODE_HTTPERROR_400, 30 CODE_HTTPERROR_400_PARAM, 31 CODE_HTTPERROR_400_COMPACT, 32 CODE_HTTPERROR_402_NOTMODEST, 33 CODE_HTTPERROR_402_PAYMENT_REQUIRED, 34 CODE_HTTPERROR_403_IP, 35 CODE_HTTPERROR_404, 36 CODE_HTTPERROR_500, 37 38 CODE_HTTPERROR_COUNT 39 }; 40 41 void stats_issue_event( ot_status_event event, PROTO_FLAG proto, uintptr_t event_data ); 42 void stats_deliver( int64 sock, int tasktype ); 43 void stats_cleanup(); 44 size_t return_stats_for_tracker( char *reply, int mode, int format ); 45 size_t stats_return_tracker_version( char *reply ); 46 void stats_init( ); 47 void stats_deinit( ); 48 49 extern const char *g_version_rijndael_c; 50 extern const char *g_version_livesync_c; 51 52 #endif 53