annotate mcabber/src/hbuf.h @ 1197:6f602d3270a4

Add /pgp [-]force With this command it becomes possible to enforce PGP encryption without checking if the remote client has PGP support. It can be used to send encrypted offline messages too.
author Mikael Berthe <mikael@lilotux.net>
date Fri, 27 Apr 2007 00:37:57 +0200
parents 5be2408a6534
children e802ec0c02d2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
1 #ifndef __HBUF_H__
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
2 #define __HBUF_H__ 1
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
3
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
4 #include <time.h>
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
5 #include <glib.h>
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
6
106
9a31028e8095 [/trunk] Changeset 120 by mikael
mikael
parents: 75
diff changeset
7 // With current implementation a message must fit in a hbuf block,
9a31028e8095 [/trunk] Changeset 120 by mikael
mikael
parents: 75
diff changeset
8 // so we shouldn't choose a too small size.
795
b16acadd7d53 Improve support for long messages
Mikael Berthe <mikael@lilotux.net>
parents: 728
diff changeset
9 #define HBB_BLOCKSIZE 8192 // > 20 please
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
10
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
11 // Flags:
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
12 // - ALLOC: the ptr data has been allocated, it can be freed
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
13 // - PERSISTENT: this is a new history line
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
14 #define HBB_FLAG_ALLOC 1
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
15 #define HBB_FLAG_PERSISTENT 2
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
16
952
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
17 #define HBB_PREFIX_IN 1U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
18 #define HBB_PREFIX_OUT 2U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
19 #define HBB_PREFIX_STATUS 4U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
20 #define HBB_PREFIX_AUTH 8U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
21 #define HBB_PREFIX_INFO 16U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
22 #define HBB_PREFIX_ERR 32U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
23 #define HBB_PREFIX_NOFLAG 64U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
24 #define HBB_PREFIX_HLIGHT 128U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
25 #define HBB_PREFIX_NONE 256U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 850
diff changeset
26 #define HBB_PREFIX_SPECIAL 512U
1055
6eb1efea75d0 PGP: Visual encryption flag
Mikael Berthe <mikael@lilotux.net>
parents: 952
diff changeset
27 #define HBB_PREFIX_PGPCRYPT 1024U
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
28
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
29 typedef struct {
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
30 time_t timestamp;
850
d0781ca2dd08 Use new status buffer window
Mikael Berthe <mikael@lilotux.net>
parents: 847
diff changeset
31 guint flags;
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
32 char *text;
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
33 } hbb_line;
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
34
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
35 void hbuf_add_line(GList **p_hbuf, const char *text, time_t timestamp,
1141
5be2408a6534 Add option "max_history_blocks"
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
36 guint prefix_flags, guint width, guint maxhbufblocks);
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
37 void hbuf_free(GList **p_hbuf);
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
38 void hbuf_rebuild(GList **p_hbuf, unsigned int width);
189
4f3975f1b852 [/trunk] Changeset 201 by mikael
mikael
parents: 186
diff changeset
39 GList *hbuf_previous_persistent(GList *l_line);
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
40
184
b5aa2b9c425a [/trunk] Changeset 196 by mikael
mikael
parents: 106
diff changeset
41 hbb_line **hbuf_get_lines(GList *hbuf, unsigned int n);
370
dd9e2eb52916 Add /buffer search_{backward,forward}
Mikael Berthe <mikael@lilotux.net>
parents: 364
diff changeset
42 GList *hbuf_search(GList *hbuf, int direction, const char *string);
464
e4840b288be0 Add "/buffer date"
Mikael Berthe <mikael@lilotux.net>
parents: 462
diff changeset
43 GList *hbuf_jump_date(GList *hbuf, time_t t);
462
d580e87c11ed Add "/buffer %n"
Mikael Berthe <mikael@lilotux.net>
parents: 370
diff changeset
44 GList *hbuf_jump_percent(GList *hbuf, int pc);
71
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
45
1e9d4949bcfd [/trunk] Changeset 85 by mikael
mikael
parents:
diff changeset
46 #endif /* __HBUF_H__ */
576
8b3db0b555a1 Add Vim modelines
Mikael Berthe <mikael@lilotux.net>
parents: 513
diff changeset
47
580
fed6d1e4d7a9 Fix modelines
Mikael Berthe <mikael@lilotux.net>
parents: 576
diff changeset
48 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */