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