⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 silcpurple.h

📁 Linux下的多协议即时通讯程序源代码
💻 H
字号:
/*  silcpurple.h  Author: Pekka Riikonen <priikone@silcnet.org>  Copyright (C) 2004 - 2007 Pekka Riikonen  This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation; version 2 of the License.  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.*/#ifndef SILCPURPLE_H#define SILCPURPLE_H/* Purple includes */#include "internal.h"#include "account.h"#include "accountopt.h"#include "cmds.h"#include "conversation.h"#include "debug.h"#include "ft.h"#include "notify.h"#include "prpl.h"#include "request.h"#include "roomlist.h"#include "server.h"#include "util.h"/* Default public and private key file names */#define SILCPURPLE_PUBLIC_KEY_NAME "public_key.pub"#define SILCPURPLE_PRIVATE_KEY_NAME "private_key.prv"/* Default settings for creating key pair */#define SILCPURPLE_DEF_PKCS "rsa"#define SILCPURPLE_DEF_PKCS_LEN 2048#define SILCPURPLE_PRVGRP 0x001fffff/* Status IDs */#define SILCPURPLE_STATUS_ID_OFFLINE	"offline"#define SILCPURPLE_STATUS_ID_AVAILABLE "available"#define SILCPURPLE_STATUS_ID_HYPER	"hyper"#define SILCPURPLE_STATUS_ID_AWAY		"away"#define SILCPURPLE_STATUS_ID_BUSY		"busy"#define SILCPURPLE_STATUS_ID_INDISPOSED "indisposed"#define SILCPURPLE_STATUS_ID_PAGE		"page"typedef struct {	unsigned long id;	const char *channel;	unsigned long chid;	const char *parentch;	SilcChannelPrivateKey key;} *SilcPurplePrvgrp;/* The SILC Purple plugin context */typedef struct SilcPurpleStruct {	SilcClient client;	SilcClientConnection conn;	SilcPublicKey public_key;	SilcPrivateKey private_key;	guint scheduler;	PurpleConnection *gc;	PurpleAccount *account;	unsigned long channel_ids;	GList *grps;	char *motd;	PurpleRoomlist *roomlist;	SilcMimeAssembler mimeass;	unsigned int detaching            : 1;	unsigned int resuming             : 1;	unsigned int roomlist_canceled    : 1;	unsigned int chpk                 : 1;} *SilcPurple;void silc_say(SilcClient client, SilcClientConnection conn,	      SilcClientMessageType type, char *msg, ...);SilcBool silcpurple_command_reply(SilcClient client, SilcClientConnection conn,				  SilcCommand command, SilcStatus status,				  SilcStatus error, void *context, va_list ap);gboolean silcpurple_check_silc_dir(PurpleConnection *gc);const char *silcpurple_silcdir(void);const char *silcpurple_session_file(const char *account);void silcpurple_verify_public_key(SilcClient client, SilcClientConnection conn,				  const char *name,				  SilcConnectionType conn_type,				  SilcPublicKey public_key,				  SilcVerifyPublicKey completion,				  void *context);GList *silcpurple_buddy_menu(PurpleBuddy *buddy);void silcpurple_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group);void silcpurple_send_buddylist(PurpleConnection *gc);void silcpurple_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group);void silcpurple_buddy_keyagr_request(SilcClient client,				     SilcClientConnection conn,				     SilcClientEntry client_entry,				     const char *hostname, SilcUInt16 port,				     SilcUInt16 protocol);void silcpurple_idle_set(PurpleConnection *gc, int idle);void silcpurple_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full);char *silcpurple_status_text(PurpleBuddy *b);gboolean silcpurple_ip_is_private(const char *ip);void silcpurple_ftp_send_file(PurpleConnection *gc, const char *name, const char *file);PurpleXfer *silcpurple_ftp_new_xfer(PurpleConnection *gc, const char *name);void silcpurple_ftp_request(SilcClient client, SilcClientConnection conn,			  SilcClientEntry client_entry, SilcUInt32 session_id,			  const char *hostname, SilcUInt16 port);void silcpurple_show_public_key(SilcPurple sg,			      const char *name, SilcPublicKey public_key,			      GCallback callback, void *context);void silcpurple_get_info(PurpleConnection *gc, const char *who);SilcAttributePayloadsilcpurple_get_attr(SilcDList attrs, SilcAttribute attribute);void silcpurple_get_umode_string(SilcUInt32 mode, char *buf,			       SilcUInt32 buf_size);void silcpurple_get_chmode_string(SilcUInt32 mode, char *buf,				SilcUInt32 buf_size);void silcpurple_get_chumode_string(SilcUInt32 mode, char *buf,				 SilcUInt32 buf_size);GList *silcpurple_chat_info(PurpleConnection *gc);GHashTable *silcpurple_chat_info_defaults(PurpleConnection *gc, const char *chat_name);GList *silcpurple_chat_menu(PurpleChat *);void silcpurple_chat_join(PurpleConnection *gc, GHashTable *data);char *silcpurple_get_chat_name(GHashTable *data);void silcpurple_chat_invite(PurpleConnection *gc, int id, const char *msg,			  const char *name);void silcpurple_chat_leave(PurpleConnection *gc, int id);int silcpurple_chat_send(PurpleConnection *gc, int id, const char *msg, PurpleMessageFlags flags);void silcpurple_chat_set_topic(PurpleConnection *gc, int id, const char *topic);PurpleRoomlist *silcpurple_roomlist_get_list(PurpleConnection *gc);void silcpurple_roomlist_cancel(PurpleRoomlist *list);void silcpurple_chat_chauth_show(SilcPurple sg, SilcChannelEntry channel,				 SilcDList channel_pubkeys);void silcpurple_parse_attrs(SilcDList attrs, char **moodstr, char **statusstr,					 char **contactstr, char **langstr, char **devicestr,					 char **tzstr, char **geostr);void silcpurple_buddy_set_icon(PurpleConnection *gc, PurpleStoredImage *img);char *silcpurple_file2mime(const char *filename);SilcDList silcpurple_image_message(const char *msg, SilcUInt32 *mflags);#ifdef _WIN32typedef int uid_t;struct passwd {	char	*pw_name;	/* user name */	char	*pw_passwd;	/* user password */	int		pw_uid;		/* user id */	int		pw_gid;		/* group id */	char	*pw_gecos;	/* real name */	char	*pw_dir;	/* home directory */	char	*pw_shell;	/* shell program */};struct passwd *getpwuid(int uid);int getuid(void);int geteuid(void);#endif#endif /* SILCPURPLE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -