source: lib/misc.h @ c92ee728

Last change on this file since c92ee728 was 0e788f5, checked in by Wilmer van der Gaast <wilmer@…>, at 2013-02-21T19:15:59Z

I'm still bored on a long flight. Wrote a script to automatically update
my copyright mentions since some were getting pretty stale. Left files not
touched since before 2012 alone so that this change doesn't touch almost
EVERY source file.

  • Property mode set to 100644
File size: 2.7 KB
Line 
1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
4  * Copyright 2002-2012 Wilmer van der Gaast and others                *
5  \********************************************************************/
6
7/* Misc. functions                                                      */
8
9/*
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU General Public License for more details.
19
20  You should have received a copy of the GNU General Public License with
21  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
22  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
23  Suite 330, Boston, MA  02111-1307  USA
24*/
25
26#ifndef _MISC_H
27#define _MISC_H
28
29#include <gmodule.h>
30#include <time.h>
31
32struct ns_srv_reply
33{
34        int prio;
35        int weight;
36        int port;
37        char name[];
38};
39
40G_MODULE_EXPORT void strip_linefeed( gchar *text );
41G_MODULE_EXPORT char *add_cr( char *text );
42G_MODULE_EXPORT char *strip_newlines(char *source);
43
44G_MODULE_EXPORT time_t get_time( int year, int month, int day, int hour, int min, int sec );
45G_MODULE_EXPORT time_t mktime_utc( struct tm *tp );
46double gettime( void );
47
48G_MODULE_EXPORT void strip_html( char *msg );
49G_MODULE_EXPORT char *escape_html( const char *html );
50G_MODULE_EXPORT void http_decode( char *s );
51G_MODULE_EXPORT void http_encode( char *s );
52
53G_MODULE_EXPORT char *ipv6_wrap( char *src );
54G_MODULE_EXPORT char *ipv6_unwrap( char *src );
55
56G_MODULE_EXPORT signed int do_iconv( char *from_cs, char *to_cs, char *src, char *dst, size_t size, size_t maxbuf );
57
58G_MODULE_EXPORT void random_bytes( unsigned char *buf, int count );
59
60G_MODULE_EXPORT int is_bool( char *value );
61G_MODULE_EXPORT int bool2int( char *value );
62
63G_MODULE_EXPORT struct ns_srv_reply **srv_lookup( char *service, char *protocol, char *domain );
64G_MODULE_EXPORT void srv_free( struct ns_srv_reply **srv );
65
66G_MODULE_EXPORT char *word_wrap( const char *msg, int line_len );
67G_MODULE_EXPORT gboolean ssl_sockerr_again( void *ssl );
68G_MODULE_EXPORT int md5_verify_password( char *password, char *hash );
69G_MODULE_EXPORT char **split_command_parts( char *command );
70G_MODULE_EXPORT char *get_rfc822_header( const char *text, const char *header, int len );
71
72#endif
Note: See TracBrowser for help on using the repository browser.