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

📄 gkrellmd.h

📁 系统任务管理器
💻 H
字号:
/* GKrellM|  Copyright (C) 1999-2006 Bill Wilson||  Author:  Bill Wilson    billw@gkrellm.net|  Latest versions might be found at:  http://gkrellm.net||  This program is free software which I release under the GNU General Public|  License. You may redistribute and/or modify this program under the terms|  of that license as published by the Free Software Foundation; either|  version 2 of the License, or (at your option) any later version.||  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.  Version 2 is in the|  COPYRIGHT file in the top level directory of this distribution.| |  To get a copy of the GNU General Puplic License, write to the Free Software|  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#include <glib.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <fcntl.h>#include <time.h>#if (defined(__sun) && defined(__SVR4)) || defined(SOLARIS_8)#define __solaris__#endif#if !defined(WIN32)#include <unistd.h>#include <utime.h>#include <sys/socket.h>#include <sys/time.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>#include <sys/ioctl.h>#include <pwd.h>#include <grp.h>#if defined(__solaris__)#include <sys/filio.h>#endif#include <sys/select.h>#include <sys/wait.h>#else#define SIGTSTP SIGTERM#define ioctl ioctlsocket#include "../src/win32.h"#if defined(_WINDOWS)#include "resource.h"#endif#endif#include <sys/stat.h>#include <sys/types.h>#include <locale.h>#include <signal.h>#include <errno.h>#if !defined(PACKAGE_D)#define	PACKAGE_D	"gkrellmd"#endif/* Internationalization support.*/#if defined (ENABLE_NLS)#include <libintl.h>#	undef _#	define _(String) dgettext(PACKAGE_D,String)#   if defined(gettext_noop)#       define N_(String) gettext_noop(String)#   else#       define N_(String) (String)#   endif   /* gettext_noop */#else#   define _(String) (String)#   define N_(String) (String)#   define textdomain(String) (String)#   define gettext(String) (String)#   define dgettext(Domain,String) (String)#   define dcgettext(Domain,String,Type) (String)#   define bindtextdomain(Domain,Directory) (Domain) #endif  /* ENABLE_NLS *//* -------------------------------------------------------------------*/#define GKRELLMD_VERSION_MAJOR   2#define GKRELLMD_VERSION_MINOR   2#define GKRELLMD_VERSION_REV     9#define GKRELLMD_EXTRAVERSION    ""#define GKRELLMD_CHECK_VERSION(major,minor,rev)    \(GKRELLMD_VERSION_MAJOR > (major) || \(GKRELLMD_VERSION_MAJOR == (major) && GKRELLMD_VERSION_MINOR > (minor)) || \(GKRELLMD_VERSION_MAJOR == (major) && GKRELLMD_VERSION_MINOR == (minor) && \GKRELLMD_VERSION_REV >= (rev)))#define GKRELLMD_CONFIG     "gkrellmd.conf"#define GKRELLMD_PLUGINS_DIR		".gkrellm2/plugins-gkrellmd"#define GKRELLMD_LOCAL_PLUGINS_DIR	"/usr/local/lib/gkrellm2/plugins-gkrellmd"#if !defined(GKRELLMD_SYSTEM_PLUGINS_DIR)#define GKRELLMD_SYSTEM_PLUGINS_DIR	"/usr/lib/gkrellm2/plugins-gkrellmd"#endif#if !defined(WIN32)#define	GKRELLMD_SYS_ETC	"/etc"#define GKRELLMD_LOCAL_ETC	"/usr/local/etc"#endiftypedef struct _GkrellmdClient	{	gint		major_version,				minor_version,				rev_version;	gchar		*hostname;	gint		fd;	gboolean	served,				alive,				last_client;	gboolean	feature_subdisk;	GString		*input_gstring;	void		(*input_func)(struct _GkrellmdClient *, gchar *);	}	GkrellmdClient;typedef struct	{	gint	timer_ticks,			second_tick,			two_second_tick,			five_second_tick,			ten_second_tick,			minute_tick;	}	GkrellmdTicks;extern GkrellmdTicks			GK;typedef struct	{	gboolean		need_serve;	const gchar		*serve_name;	gboolean		serve_name_sent;	GString			*serve_gstring;	GkrellmdClient	*client;	GList			*config_list;	gboolean		is_plugin;	void			*handle;	gchar			*path;	void			(*client_input_func)(GkrellmdClient *, gchar *);	}	GkrellmdMonitorPrivate;typedef struct _GkrellmdMonitor	{	gchar		*name;	void		(*update_monitor)(struct _GkrellmdMonitor *mon,							gboolean first_update);	void		(*serve_data)(struct _GkrellmdMonitor *mon,							gboolean first_serve);	void		(*serve_setup)(struct _GkrellmdMonitor *mon);	GkrellmdMonitorPrivate				*privat;	}	GkrellmdMonitor;  /* gkrellmd serve data functions used by builtins and plugins.  */void		gkrellmd_plugin_serve_setup(GkrellmdMonitor *mon,						gchar *name, gchar *line);void		gkrellmd_need_serve(GkrellmdMonitor *mon);void		gkrellmd_set_serve_name(GkrellmdMonitor *mon, const gchar *name);void		gkrellmd_serve_data(GkrellmdMonitor *mon, gchar *line);void		gkrellmd_add_serveflag_done(gboolean *);gboolean	gkrellmd_check_client_version(GkrellmdMonitor *mon,						gint major, gint minor, gint rev);const gchar	*gkrellmd_config_getline(GkrellmdMonitor *mon);void		gkrellmd_client_input_connect(GkrellmdMonitor *mon,						void (*func)(GkrellmdClient *, gchar *));  /* Small set of useful functions duplicated from src/utils.c.  |  These really should just be in the gkrellm_ namespace for sysdep code  |  common to gkrellm and gkrellmd, but for convenience, offer them in  |  both gkrellm_ and gkrellmd_ namespaces.  */void		gkrellmd_free_glist_and_data(GList **list_head);gboolean	gkrellmd_getline_from_gstring(GString **, gchar *, gint);gchar		*gkrellmd_dup_token(gchar **string, gchar *delimeters);gboolean	gkrellmd_dup_string(gchar **dst, gchar *src);void		gkrellm_free_glist_and_data(GList **list_head);gboolean	gkrellm_getline_from_gstring(GString **, gchar *, gint);gchar		*gkrellm_dup_token(gchar **string, gchar *delimeters);gboolean	gkrellm_dup_string(gchar **dst, gchar *src);  /* Plugins should use above data serve functions instead of this.  */gint		gkrellmd_send_to_client(GkrellmdClient *client, gchar *buf);  /* Misc  */void		gkrellmd_add_mailbox(gchar *);#if !GLIB_CHECK_VERSION(2,0,0)/* glib2 compatibility functions*/#define G_FILE_TEST_EXISTS		1#define G_FILE_TEST_IS_DIR		2#define	G_FILE_TEST_IS_REGULAR	4#include <dirent.h>typedef struct    {    DIR     *dir;	}    GDir;GDir		*g_dir_open(gchar *path, guint flags, gpointer error);gchar		*g_dir_read_name(GDir *dir);void		g_dir_close(GDir *dir);gboolean	g_file_test(gchar *filename, gint test);gchar		*g_build_filename(gchar *first, ...);gchar		*g_path_get_basename(gchar *file_name);#endif

⌨️ 快捷键说明

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