Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1105133
  • 博文数量: 121
  • 博客积分: 8910
  • 博客等级: 上将
  • 技术积分: 2915
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-18 09:36
文章分类

全部博文(121)

文章存档

2011年(3)

2010年(100)

2008年(18)

分类: BSD

2008-05-25 23:06:14

KDM中display的定义:在dm.h文件中

struct display {
    struct display *next;
    struct disphist *hstent;    /* display history entry */

    /* basic display information */
    char *name;                 /* DISPLAY name -- also referenced in hstent */
    char *class2;               /* display class (may be NULL) */
    int displayType;            /* location/origin/lifetime */
    CfgArr cfg;                 /* config data array */

    /* display state */
    DisplayStatus status;       /* current status */
    int zstatus;                /* substatus while zombie */
    int pid;                    /* process id of child */
    int serverPid;              /* process id of server (-1 if none) */
#ifdef HAVE_VTS
    int serverVT;               /* server VT (0 = none, -1 = pending) */
    struct display *follower;   /* on exit, hand VT to this display */
#endif
    ServerStatus serverStatus;  /* X server startup state */
    Time_t lastStart;           /* time of last display start */
    int startTries;             /* current start try */
    int stillThere;             /* state during HUP processing */
    int userSess;               /* -1=nobody, otherwise uid */
    char *userName;
    char *sessName;
    CtrlRec ctrl;               /* command socket & fifo */
    GPipe pipe;                 /* comm master <-> slave */
    GPipe gpipe;                /* comm master <-> greeter */
#ifdef XDMCP
    char *remoteHost;           /* for X -query type remote login */
    /* XDMCP state */
    unsigned sessionID;         /* ID of active session */
    ARRAY8 peer;                /* display peer address */
    ARRAY8 from;                /* XDMCP port of display */
    unsigned displayNumber;     /* numerical part of name */
    int useChooser;             /* Run the chooser for this display */
    ARRAY8 clientAddr;          /* for chooser picking */
    unsigned connectionType;    /* ... */
    int xdmcpFd;
#endif

    CONF_CORE_LOCAL_DEFS

    int idleTimeout;            /* abort login after that time */

    unsigned short *authNameLens;  /* authorization protocol name lens */

    /* information potentially derived from resources */
    int authNameNum;            /* number of protocol names */
    Xauth **authorizations;     /* authorization data */
    int authNum;                /* number of authorizations */
    char *authFile;             /* file to store authorization in */
};

typedef enum displayStatus { notRunning = 0, running, zombie, phoenix, raiser,
                             textMode, reserve, remoteLogin } DisplayStatus;

typedef enum serverStatus { ignore = 0, awaiting, starting,
                            terminated, killed, pausing } ServerStatus;
阅读(2583) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~