Fri, 06 Sep 2013 18:18:39 +0530
Merged soc.2013.gobjectification branch
| 8849 | 1 | /* |
| 2 | ||
| 15884 | 3 | silcpurple.h |
| 8849 | 4 | |
| 5 | Author: Pekka Riikonen <priikone@silcnet.org> | |
| 6 | ||
|
17675
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
7 | Copyright (C) 2004 - 2007 Pekka Riikonen |
| 8849 | 8 | |
| 9 | This program is free software; you can redistribute it and/or modify | |
| 10 | it under the terms of the GNU General Public License as published by | |
| 11 | the Free Software Foundation; version 2 of the License. | |
| 12 | ||
| 13 | This program is distributed in the hope that it will be useful, | |
| 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 16 | GNU General Public License for more details. | |
| 17 | ||
| 18 | */ | |
| 19 | ||
| 15884 | 20 | #ifndef SILCPURPLE_H |
| 21 | #define SILCPURPLE_H | |
| 8849 | 22 | |
| 15884 | 23 | /* Purple includes */ |
| 8849 | 24 | #include "internal.h" |
| 25 | #include "account.h" | |
| 26 | #include "accountopt.h" | |
|
10246
aa5bff72f94c
[gaim-migrate @ 11386]
Mark Doliner <markdoliner@pidgin.im>
parents:
10050
diff
changeset
|
27 | #include "cmds.h" |
|
aa5bff72f94c
[gaim-migrate @ 11386]
Mark Doliner <markdoliner@pidgin.im>
parents:
10050
diff
changeset
|
28 | #include "conversation.h" |
| 8849 | 29 | #include "debug.h" |
|
34910
60502558e400
Replacements for the GObject Xfer API
Ankit Vani <a@nevitus.org>
parents:
33811
diff
changeset
|
30 | #include "xfer.h" |
| 8849 | 31 | #include "notify.h" |
|
36543
a8c3fecee2d3
Renamed prpl.[ch] to protocol.[ch]
Ankit Vani <a@nevitus.org>
parents:
33811
diff
changeset
|
32 | #include "protocol.h" |
| 8849 | 33 | #include "request.h" |
|
10246
aa5bff72f94c
[gaim-migrate @ 11386]
Mark Doliner <markdoliner@pidgin.im>
parents:
10050
diff
changeset
|
34 | #include "roomlist.h" |
| 8849 | 35 | #include "server.h" |
| 36 | #include "util.h" | |
| 37 | ||
|
20289
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17680
diff
changeset
|
38 | #undef SILC_VERSION |
|
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17680
diff
changeset
|
39 | #define SILC_VERSION(a, b, c) (((a) << 24) + ((b) << 16) + ((c) << 8)) |
|
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17680
diff
changeset
|
40 | |
|
36595
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
41 | #define SILCPURPLE_TYPE_PROTOCOL (silcpurple_protocol_get_type()) |
|
36660
ddb40f691d20
Renamed certain protocol type names to better suit the naming convention used by the protocol
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
42 | #define SILCPURPLE_PROTOCOL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SILCPURPLE_TYPE_PROTOCOL, SilcProtocol)) |
|
ddb40f691d20
Renamed certain protocol type names to better suit the naming convention used by the protocol
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
43 | #define SILCPURPLE_PROTOCOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SILCPURPLE_TYPE_PROTOCOL, SilcProtocolClass)) |
|
36595
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
44 | #define SILCPURPLE_IS_PROTOCOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SILCPURPLE_TYPE_PROTOCOL)) |
|
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
45 | #define SILCPURPLE_IS_PROTOCOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SILCPURPLE_TYPE_PROTOCOL)) |
|
36660
ddb40f691d20
Renamed certain protocol type names to better suit the naming convention used by the protocol
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
46 | #define SILCPURPLE_PROTOCOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), SILCPURPLE_TYPE_PROTOCOL, SilcProtocolClass)) |
|
36595
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
47 | |
| 8849 | 48 | /* Default public and private key file names */ |
| 15884 | 49 | #define SILCPURPLE_PUBLIC_KEY_NAME "public_key.pub" |
| 50 | #define SILCPURPLE_PRIVATE_KEY_NAME "private_key.prv" | |
| 8849 | 51 | |
| 52 | /* Default settings for creating key pair */ | |
| 15884 | 53 | #define SILCPURPLE_DEF_PKCS "rsa" |
| 54 | #define SILCPURPLE_DEF_PKCS_LEN 2048 | |
| 8849 | 55 | |
| 15884 | 56 | #define SILCPURPLE_PRVGRP 0x001fffff |
| 8849 | 57 | |
|
10050
78e480f768f2
[gaim-migrate @ 11011]
Dave West <kat@users.sourceforge.net>
parents:
9917
diff
changeset
|
58 | /* Status IDs */ |
| 15884 | 59 | #define SILCPURPLE_STATUS_ID_OFFLINE "offline" |
| 60 | #define SILCPURPLE_STATUS_ID_AVAILABLE "available" | |
| 61 | #define SILCPURPLE_STATUS_ID_HYPER "hyper" | |
| 62 | #define SILCPURPLE_STATUS_ID_AWAY "away" | |
| 63 | #define SILCPURPLE_STATUS_ID_BUSY "busy" | |
| 64 | #define SILCPURPLE_STATUS_ID_INDISPOSED "indisposed" | |
| 65 | #define SILCPURPLE_STATUS_ID_PAGE "page" | |
|
10050
78e480f768f2
[gaim-migrate @ 11011]
Dave West <kat@users.sourceforge.net>
parents:
9917
diff
changeset
|
66 | |
|
36660
ddb40f691d20
Renamed certain protocol type names to better suit the naming convention used by the protocol
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
67 | typedef struct _SilcProtocol |
|
36595
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
68 | { |
|
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
69 | PurpleProtocol parent; |
|
36660
ddb40f691d20
Renamed certain protocol type names to better suit the naming convention used by the protocol
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
70 | } SilcProtocol; |
|
36595
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
71 | |
|
36660
ddb40f691d20
Renamed certain protocol type names to better suit the naming convention used by the protocol
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
72 | typedef struct _SilcProtocolClass |
|
36595
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
73 | { |
|
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
74 | PurpleProtocolClass parent_class; |
|
36660
ddb40f691d20
Renamed certain protocol type names to better suit the naming convention used by the protocol
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
75 | } SilcProtocolClass; |
|
36595
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
76 | |
| 8849 | 77 | typedef struct { |
| 78 | unsigned long id; | |
| 79 | const char *channel; | |
| 80 | unsigned long chid; | |
| 81 | const char *parentch; | |
| 82 | SilcChannelPrivateKey key; | |
| 15884 | 83 | } *SilcPurplePrvgrp; |
| 8849 | 84 | |
| 15884 | 85 | /* The SILC Purple plugin context */ |
| 86 | typedef struct SilcPurpleStruct { | |
| 8849 | 87 | SilcClient client; |
| 88 | SilcClientConnection conn; | |
|
17675
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
89 | SilcPublicKey public_key; |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
90 | SilcPrivateKey private_key; |
|
20289
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17680
diff
changeset
|
91 | SilcHash sha1hash; |
| 8849 | 92 | |
|
20289
5c844288fbec
applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17680
diff
changeset
|
93 | SilcDList tasks; |
| 8849 | 94 | guint scheduler; |
| 15884 | 95 | PurpleConnection *gc; |
| 96 | PurpleAccount *account; | |
| 8849 | 97 | unsigned long channel_ids; |
| 98 | GList *grps; | |
| 99 | ||
| 100 | char *motd; | |
| 15884 | 101 | PurpleRoomlist *roomlist; |
|
12217
ea610d8ab584
[gaim-migrate @ 14519]
Pekka Riikonen <priikone@silcnet.org>
parents:
12216
diff
changeset
|
102 | SilcMimeAssembler mimeass; |
| 8849 | 103 | unsigned int detaching : 1; |
| 104 | unsigned int resuming : 1; | |
|
30708
535bec1e66fb
Standardize on "cancelled".
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
20289
diff
changeset
|
105 | unsigned int roomlist_cancelled : 1; |
| 8849 | 106 | unsigned int chpk : 1; |
| 15884 | 107 | } *SilcPurple; |
| 8849 | 108 | |
| 109 | ||
|
36595
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
110 | GType silcpurple_protocol_get_type(void); |
|
d013a99e6d94
Refactored silc to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36543
diff
changeset
|
111 | |
|
17675
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
112 | void silc_say(SilcClient client, SilcClientConnection conn, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
113 | SilcClientMessageType type, char *msg, ...); |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
114 | SilcBool silcpurple_command_reply(SilcClient client, SilcClientConnection conn, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
115 | SilcCommand command, SilcStatus status, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
116 | SilcStatus error, void *context, va_list ap); |
| 15884 | 117 | gboolean silcpurple_check_silc_dir(PurpleConnection *gc); |
| 118 | const char *silcpurple_silcdir(void); | |
| 119 | const char *silcpurple_session_file(const char *account); | |
| 120 | void silcpurple_verify_public_key(SilcClient client, SilcClientConnection conn, | |
|
17675
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
121 | const char *name, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
122 | SilcConnectionType conn_type, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
123 | SilcPublicKey public_key, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
124 | SilcVerifyPublicKey completion, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
125 | void *context); |
| 15884 | 126 | GList *silcpurple_buddy_menu(PurpleBuddy *buddy); |
|
32320
75839f9d761c
silc: Fix build and update for API changes
Paul Aurich <darkrain42@pidgin.im>
parents:
30708
diff
changeset
|
127 | void silcpurple_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group, const char *message); |
| 15884 | 128 | void silcpurple_send_buddylist(PurpleConnection *gc); |
| 129 | void silcpurple_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group); | |
| 130 | void silcpurple_buddy_keyagr_request(SilcClient client, | |
|
17675
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
131 | SilcClientConnection conn, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
132 | SilcClientEntry client_entry, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
133 | const char *hostname, SilcUInt16 port, |
|
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
134 | SilcUInt16 protocol); |
| 15884 | 135 | void silcpurple_idle_set(PurpleConnection *gc, int idle); |
| 136 | void silcpurple_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full); | |
| 137 | char *silcpurple_status_text(PurpleBuddy *b); | |
| 138 | gboolean silcpurple_ip_is_private(const char *ip); | |
| 139 | void silcpurple_ftp_send_file(PurpleConnection *gc, const char *name, const char *file); | |
| 140 | PurpleXfer *silcpurple_ftp_new_xfer(PurpleConnection *gc, const char *name); | |
| 141 | void silcpurple_ftp_request(SilcClient client, SilcClientConnection conn, | |
| 8849 | 142 | SilcClientEntry client_entry, SilcUInt32 session_id, |
| 143 | const char *hostname, SilcUInt16 port); | |
| 15884 | 144 | void silcpurple_show_public_key(SilcPurple sg, |
| 8849 | 145 | const char *name, SilcPublicKey public_key, |
| 146 | GCallback callback, void *context); | |
| 15884 | 147 | void silcpurple_get_info(PurpleConnection *gc, const char *who); |
| 8849 | 148 | SilcAttributePayload |
| 15884 | 149 | silcpurple_get_attr(SilcDList attrs, SilcAttribute attribute); |
| 150 | void silcpurple_get_umode_string(SilcUInt32 mode, char *buf, | |
| 8849 | 151 | SilcUInt32 buf_size); |
| 15884 | 152 | void silcpurple_get_chmode_string(SilcUInt32 mode, char *buf, |
| 8849 | 153 | SilcUInt32 buf_size); |
| 15884 | 154 | void silcpurple_get_chumode_string(SilcUInt32 mode, char *buf, |
| 8849 | 155 | SilcUInt32 buf_size); |
| 15884 | 156 | GList *silcpurple_chat_info(PurpleConnection *gc); |
| 157 | GHashTable *silcpurple_chat_info_defaults(PurpleConnection *gc, const char *chat_name); | |
| 158 | GList *silcpurple_chat_menu(PurpleChat *); | |
| 159 | void silcpurple_chat_join(PurpleConnection *gc, GHashTable *data); | |
| 160 | char *silcpurple_get_chat_name(GHashTable *data); | |
| 161 | void silcpurple_chat_invite(PurpleConnection *gc, int id, const char *msg, | |
| 8849 | 162 | const char *name); |
| 15884 | 163 | void silcpurple_chat_leave(PurpleConnection *gc, int id); |
| 164 | int silcpurple_chat_send(PurpleConnection *gc, int id, const char *msg, PurpleMessageFlags flags); | |
| 165 | void silcpurple_chat_set_topic(PurpleConnection *gc, int id, const char *topic); | |
| 166 | PurpleRoomlist *silcpurple_roomlist_get_list(PurpleConnection *gc); | |
| 167 | void silcpurple_roomlist_cancel(PurpleRoomlist *list); | |
| 168 | void silcpurple_chat_chauth_show(SilcPurple sg, SilcChannelEntry channel, | |
|
17675
e7069bf1de1a
Patch from Pekka Riikonen to update the SILC protocol plugin to work with
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16549
diff
changeset
|
169 | SilcDList channel_pubkeys); |
| 15884 | 170 | void silcpurple_parse_attrs(SilcDList attrs, char **moodstr, char **statusstr, |
|
9488
9d6520fa53fd
[gaim-migrate @ 10313]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9466
diff
changeset
|
171 | char **contactstr, char **langstr, char **devicestr, |
|
9d6520fa53fd
[gaim-migrate @ 10313]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9466
diff
changeset
|
172 | char **tzstr, char **geostr); |
|
16549
59e5ad39510c
Update SILC for imgstore changes.
Daniel Atallah <datallah@pidgin.im>
parents:
15906
diff
changeset
|
173 | void silcpurple_buddy_set_icon(PurpleConnection *gc, PurpleStoredImage *img); |
| 15884 | 174 | char *silcpurple_file2mime(const char *filename); |
|
33798
ab26d8e3da97
silc: Use appropriate datatype for SilcMessageFlags
Daniel Atallah <datallah@pidgin.im>
parents:
30708
diff
changeset
|
175 | SilcDList silcpurple_image_message(const char *msg, SilcMessageFlags *mflags); |
| 8849 | 176 | |
|
9353
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
177 | #ifdef _WIN32 |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
178 | typedef int uid_t; |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
179 | |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
180 | struct passwd { |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
181 | char *pw_name; /* user name */ |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
182 | char *pw_passwd; /* user password */ |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
183 | int pw_uid; /* user id */ |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
184 | int pw_gid; /* group id */ |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
185 | char *pw_gecos; /* real name */ |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
186 | char *pw_dir; /* home directory */ |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
187 | char *pw_shell; /* shell program */ |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
188 | }; |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
189 | |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
190 | struct passwd *getpwuid(int uid); |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
12217
diff
changeset
|
191 | int getuid(void); |
|
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
12217
diff
changeset
|
192 | int geteuid(void); |
|
9353
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
193 | #endif |
|
ff6546387358
[gaim-migrate @ 10161]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9288
diff
changeset
|
194 | |
| 15884 | 195 | #endif /* SILCPURPLE_H */ |