Files
cdesktop/cde/programs/dtlogin/vgproto.h
2018-04-28 12:30:20 -06:00

278 lines
7.0 KiB
C

/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these libraries and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $XConsortium: vgproto.h /main/4 1995/11/21 14:03:25 rswiston $ */
/* *
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
* (c) Copyright 1993, 1994 International Business Machines Corp. *
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
* (c) Copyright 1993, 1994 Novell, Inc. *
*/
/************************************<+>*************************************
****************************************************************************
**
** File: vgproto.h
**
** Project: HP Visual User Environment (DT)
**
** Description: Communications protocol between Dtlogin and Dtgreet.
**
**
** (c) Copyright 1987, 1988, 1989 by Hewlett-Packard Company
**
**
**
****************************************************************************
************************************<+>*************************************/
#ifndef _VGREET_H
#define _VGREET_H
#ifdef SIA
#include <siad.h>
#include <X11/Intrinsic.h>
#endif
/***********************************************************************
*
* Environment variable definitions
*
***********************************************************************/
#define ERRORLOG "ERRORLOG"
#define GRABSERVER "GRABSERVER"
#define GRABTIMEOUT "GRABTIMEOUT"
#define LANGLIST "LANGLIST"
#define LOCATION "DTXSERVERLOCATION"
#define PINGINTERVAL "PINGINTERVAL"
#define PINGTIMEOUT "PINGTIMEOUT"
#define SESSIONTYPE "SESSIONTYPE"
#define VERIFYNAME "VERIFYNAME"
#define VN_AFS "AFS"
#define VN_HPBLS "HPBLS"
#define VN_KRB "Kerberos"
#define DTLITE "DTLITE"
#define SESSION "SESSION"
#define SESSION_SET "SESSION_SET"
#define XFORCEINTERNET "XFORCE_INTERNET"
/***********************************************************************
*
* Exit codes from Greeter
*
***********************************************************************/
# define NOTIFY_OK 0
# define NOTIFY_ABORT 1
# define NOTIFY_RESTART 2
# define NOTIFY_ABORT_DISPLAY 3
# define NOTIFY_NO_WINDOWS 4
# define NOTIFY_LANG_CHANGE 5
# define NOTIFY_FAILSAFE 6
# define NOTIFY_PASSWD_EXPIRED 7
# define NOTIFY_DTLITE 8
# define NOTIFY_DT 9
# define NOTIFY_XDM 10
# define NOTIFY_BAD_SECLEVEL 11
# define NOTIFY_LAST_DT 12
# define NOTIFY_ALT_DTS 20
/***********************************************************************
*
* Request protocol definitions
*
***********************************************************************/
#define REQUEST_OP_NONE 0
#define REQUEST_OP_EXIT 2
#define REQUEST_OP_MESSAGE 3
#define REQUEST_OP_CHPASS 4
#define REQUEST_OP_CHALLENGE 5
#define REQUEST_OP_LANG 6
#define REQUEST_OP_HOSTNAME 7
#define REQUEST_OP_EXPASSWORD 8
#define REQUEST_OP_CLEAR 9
#ifdef SIA
#define REQUEST_OP_FORM 10
#endif
#define REQUEST_OP_DEBUG 255
#ifdef SIA
#define REQUEST_LIM_MAXLEN 768
#else
#define REQUEST_LIM_MAXLEN 512
#endif
/*
* Protocol structures. Offsets and lengths are from top of header.
*
* Request header.
*/
typedef struct {
unsigned char opcode; /* REQUEST_OP_* */
unsigned char reserved; /* reserved */
unsigned short length; /* total length */
/* op specific data */
} RequestHeader;
typedef struct {
RequestHeader hdr;
} RequestExit;
typedef struct {
RequestHeader hdr;
unsigned short idMC; /* MC_* message catalog id */
unsigned short offMessage;
/* variable length message string */
} RequestMessage;
typedef struct {
RequestHeader hdr;
} RequestHostname;
typedef struct {
RequestHeader hdr;
} RequestExpassword;
typedef struct {
RequestHeader hdr;
} RequestChpass;
typedef struct {
RequestHeader hdr;
int bEcho;
unsigned short idMC; /* MC_* message catalog id */
unsigned short offChallenge;
unsigned short offUserNameSeed;
/* variable length challenge string */
/* variable length user name seed */
} RequestChallenge;
#ifdef SIA
typedef struct {
RequestHeader hdr;
short num_prompts;
Boolean visible[MAX_PROMPTS]; /* MAX_PROMPTS defined in siad.h */
int rendition;
unsigned short offTitle;
unsigned short offPrompts;
/* variable length title string */
/* variable length prompt strings */
} RequestForm;
#endif
/***********************************************************************
*
* Response protocol definitions
*
***********************************************************************/
/*
* Response header.
*/
typedef struct {
unsigned char opcode; /* REQUEST_OP_* */
unsigned char reserved; /* reserved */
unsigned short length; /* total length */
/* op specific data */
} ResponseHeader;
typedef struct {
ResponseHeader hdr;
} ResponseExit;
typedef struct {
ResponseHeader hdr;
} ResponseClear;
typedef struct {
ResponseHeader hdr;
} ResponseMessage;
typedef struct {
ResponseHeader hdr;
} ResponseHostname;
typedef struct {
ResponseHeader hdr;
} ResponseExpassword;
typedef struct {
ResponseHeader hdr;
unsigned short offOldPassword;
unsigned short offNewPassword;
unsigned short offNewPasswordAgain;
/* variable length old password string */
/* variable length new password string */
/* variable length new password string */
} ResponseChpass;
typedef struct {
ResponseHeader hdr;
unsigned short offResponse;
/* variable length challenge response string */
} ResponseChallenge;
typedef struct {
ResponseHeader hdr;
unsigned short offString;
/* variable length debug string */
} ResponseDebug;
typedef struct {
ResponseHeader hdr;
unsigned short offLang;
/* variable length lang string */
} ResponseLang;
#ifdef SIA
typedef struct {
ResponseHeader hdr;
int collect_status;
short num_answers;
unsigned short offAnswers;
/* variable length answer strings */
} ResponseForm;
typedef struct {
int num_prompts;
int rendition;
int collect_status;
Boolean visible[MAX_PROMPTS];
char *title;
char *prompts[MAX_PROMPTS];
char *answers[MAX_PROMPTS];
Widget sia_form_widget;
Widget answer_widgets[MAX_PROMPTS];
} SiaFormInfo;
#endif
#endif /* _VGREET_H */
/* DON'T ADD STUFF AFTER THIS #endif */