• 大小: 869KB
    文件类型: .gz
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: linux  lcd  client  server  

资源简介

linux下基于client/server的通用LCD驱动程序,支持很多流行的LCD控制器。

资源截图

代码片段和文件信息

/* \file clients/lcdexec/lcdexec.c
 * Main file for \lcdexec the program starter in the LCDproc suite.
 */

/* This file is part of lcdexec an LCDproc client.
 *
 * This file is released under the GNU General Public License. Refer to the
 * COPYING file distributed with this package.
 *
 * Copyright (c) 2002 Joris Robijn
 *               2006-2008 Peter Marschall
 */

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include “getopt.h“

#include “shared/str.h“
#include “shared/report.h“
#include “shared/configfile.h“
#include “shared/sockets.h“

#include “menu.h“


#if !defined(SYSCONFDIR)
# define SYSCONFDIR “/etc“
#endif
#if !defined(PIDFILEDIR)
# define PIDFILEDIR “/var/run“
#endif

#define DEFAULT_CONFIGFILE SYSCONFDIR “/lcdexec.conf“
#define DEFAULT_PIDFILE PIDFILEDIR “/lcdexec.pid“


/** information about a process started by lcdexec */
typedef struct ProcInfo {
struct ProcInfo *next; /**< pointer to the next ProcInfo entry */
const MenuEntry *cmd; /**< pointer to the corresponding menu entry */
pid_t pid; /**< PID the process was started with */
time_t starttime; /**< start time of the process */
time_t endtime; /**< finishing time of the process */
int status; /**< exit status of the process */
int feedback; /**< what info to show to the user */
int shown; /**< tell if the info has been shown to the user */
} ProcInfo;


char * help_text =
“lcdexec - LCDproc client to execute commands from the LCDd menu\n“
“\n“
“Copyright (c) 2002 Joris Robijn 2006-2008 Peter Marschall.\n“
“This program is released under the terms of the GNU General Public License.\n“
“\n“
“Usage: lcdexec []\n“
“  where  are:\n“
“    -c            Specify configuration file [“DEFAULT_CONFIGFILE“]\n“
“    -a 
        DNS name or IP address of the LCDd server [localhost]\n“
“    -p            port of the LCDd server [13666]\n“
“    -f                  Run in foreground\n“
“    -r           Set reporting level (0-5) [2: errors and warnings]\n“
“    -s <0|1>            Report to syslog (1) or stderr (0 default)\n“
“    -h                  Show this help\n“;

char *progname = “lcdexec“;

/* Variables set by config */
#define UNSET_INT -1
#define UNSET_STR “\01“
char *configfile = NULL;
char *address = NULL;
int port = UNSET_INT;
int foreground = FALSE;
static int report_level = UNSET_INT;
static int report_dest = UNSET_INT;
char *pidfile = NULL;
int pidfile_written = FALSE;
char *displayname = NULL;
char *default_shell = NULL;

/* Other global variables */
MenuEntry *main_menu = NULL; /**< pointer to the main menu */
ProcInfo *proc_queue = NULL; /**< pointer to the list of executed processes */

int lcd_wid = 0; /**< LCD display width reported by the server */
int lcd_hgt = 0; /**< LCD display height reported by the server */

int sock = -1; /**< socket to connect to server 

评论

共有 条评论