summaryrefslogtreecommitdiff
path: root/greeter/Login.h
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@herrb.eu>2015-12-24 17:25:15 +0100
committerMatthieu Herrb <matthieu@herrb.eu>2015-12-24 17:25:15 +0100
commitcec06325ba15fc490a5df2d215fc80030534cf07 (patch)
tree5bf538bf45d040f3a614bc4dcadfc89411974302 /greeter/Login.h
Start of a new reduced version of xdm.
Removed support for non BSD systems and for XDMCP.
Diffstat (limited to 'greeter/Login.h')
-rw-r--r--greeter/Login.h227
1 files changed, 227 insertions, 0 deletions
diff --git a/greeter/Login.h b/greeter/Login.h
new file mode 100644
index 0000000..6af3369
--- /dev/null
+++ b/greeter/Login.h
@@ -0,0 +1,227 @@
+/*
+
+Copyright 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/*
+ * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * xdm - display manager daemon
+ * Author: Keith Packard, MIT X Consortium
+ */
+
+
+#ifndef _XtLogin_h
+# define _XtLogin_h
+
+/***********************************************************************
+ *
+ * Login Widget
+ *
+ ***********************************************************************/
+
+/* Parameters:
+
+ Name Class RepType Default Value
+ ---- ----- ------- -------------
+ background Background pixel White
+ border BorderColor pixel Black
+ borderWidth BorderWidth int 1
+ foreground Foreground Pixel Black
+ height Height int 120
+ mappedWhenManaged MappedWhenManaged Boolean True
+ width Width int 120
+ x Position int 0
+ y Position int 0
+
+*/
+
+# define XtNgreeting "greeting"
+# define XtNunsecureGreeting "unsecureGreeting"
+# define XtNnamePrompt "namePrompt"
+# define XtNpasswdPrompt "passwdPrompt"
+# define XtNfail "fail"
+# define XtNnotifyDone "notifyDone"
+# define XtNpromptColor "promptColor"
+# define XtNgreetColor "greetColor"
+# define XtNfailColor "failColor"
+# define XtNpromptFont "promptFont"
+# define XtNgreetFont "greetFont"
+# define XtNfailFont "failFont"
+# define XtNpromptFace "promptFace"
+# define XtNgreetFace "greetFace"
+# define XtNfailFace "failFace"
+# define XtNfailTimeout "failTimeout"
+# define XtNsessionArgument "sessionArgument"
+# define XtNsecureSession "secureSession"
+# define XtNallowAccess "allowAccess"
+# define XtNallowNullPasswd "allowNullPasswd"
+# define XtNallowRootLogin "allowRootLogin"
+# define XtNechoPasswd "echoPasswd"
+# define XtNechoPasswdChar "echoPasswdChar"
+
+# define XtNface "face"
+# define XtCFace "Face"
+# define XtRXftFont "XftFont"
+# define XtRXftColor "XftColor"
+
+/* added by Amit Margalit Oct 1996 */
+# define XtNhiColor "hiColor"
+# define XtNshdColor "shdColor"
+# define XtNinpColor "inpColor"
+# define XtNframeWidth "frameWidth"
+# define XtCFrameWidth "FrameWidth"
+# define XtNinnerFramesWidth "innerFramesWidth"
+# define XtNsepWidth "sepWidth"
+
+# ifdef DANCING
+/* caolan begin */
+# define XtNlastEventTime "lastEventTime"
+# define XtCLastEventTime "LastEventTime"
+/* caolan end */
+# endif /* DANCING */
+
+# ifdef XPM
+# define XtNuseShape "useShape"
+# define XtCUseShape "UseShape"
+# define XtNlogoFileName "logoFileName"
+# define XtCLogoFileName "LogoFileName"
+# define XtNlogoPadding "logoPadding"
+# define XtCLogoPadding "LogoPadding"
+# endif /* XPM */
+
+# define XtCGreeting "Greeting"
+# define XtCNamePrompt "NamePrompt"
+# define XtCPasswdPrompt "PasswdPrompt"
+# define XtCFail "Fail"
+# define XtCFailTimeout "FailTimeout"
+# define XtCSessionArgument "SessionArgument"
+# define XtCSecureSession "SecureSession"
+# define XtCAllowAccess "AllowAccess"
+# define XtCAllowNullPasswd "AllowNullPasswd"
+# define XtCAllowRootLogin "AllowRootLogin"
+# define XtCEchoPasswd "EchoPasswd"
+# define XtCEchoPasswdChar "EchoPasswdChar"
+
+# define XtNchangePasswdMessage "changePasswdMessage"
+# define XtCChangePasswdMessage "ChangePasswdMessage"
+
+/* notifyDone interface definition */
+
+# ifdef __OpenBSD__
+# include <sys/param.h>
+# endif
+
+# include <pwd.h>
+# include <limits.h>
+
+# ifdef USE_PAM
+# define NAME_LEN PAM_MAX_RESP_SIZE
+# define PASSWORD_LEN PAM_MAX_RESP_SIZE
+# endif
+
+/* Defined to be in <limits.h> by SUSv2 */
+# if !defined(PASSWORD_LEN) && defined(PASS_MAX)
+# define PASSWORD_LEN PASS_MAX
+# endif
+
+/* _PW_NAME_LEN is found in <pwd.h> on OpenBSD > 2.8 (200012) */
+# if !defined(NAME_LEN) && defined(_PW_NAME_LEN)
+# define NAME_LEN (_PW_NAME_LEN + 2)
+# endif
+
+/* _PASSWORD_LEN appears to come from 4.4BSD-Lite <pwd.h> */
+# if !defined(PASSWORD_LEN) && defined(_PASSWORD_LEN)
+# define PASSWORD_LEN (_PASSWORD_LEN + 2)
+# endif
+
+/* Fallbacks if no other definition found */
+# ifndef NAME_LEN
+# define NAME_LEN 32
+# endif
+
+# ifndef PASSWORD_LEN
+# define PASSWORD_LEN 32
+# endif
+
+typedef struct _LoginData {
+ char name[NAME_LEN], passwd[PASSWORD_LEN];
+} LoginData;
+
+# define NOTIFY_OK 0
+# define NOTIFY_ABORT 1
+# define NOTIFY_RESTART 2
+# define NOTIFY_ABORT_DISPLAY 3
+
+typedef struct _LoginRec *LoginWidget; /* completely defined in LoginPrivate.h */
+typedef struct _LoginClassRec *LoginWidgetClass; /* completely defined in LoginPrivate.h */
+
+extern WidgetClass loginWidgetClass;
+
+extern void ErrorMessage(Widget ctx, const char *message, Bool timeout);
+extern void ShowChangePasswdMessage(Widget ctx);
+
+typedef enum {
+ LOGIN_PROMPT_NOT_SHOWN, /* Neither prompt nor input shown */
+ LOGIN_PROMPT_ECHO_ON, /* Both prompt and input shown */
+ LOGIN_PROMPT_ECHO_OFF, /* Prompt shown, input accepted but not
+ shown (bullets may be shown instead) */
+ LOGIN_TEXT_INFO /* Prompt shown, no input area */
+} loginPromptState;
+
+/* Default prompt meanings for simple username/password auth systems */
+# define LOGIN_PROMPT_USERNAME 0
+# define LOGIN_PROMPT_PASSWORD 1
+
+extern int SetPrompt(Widget ctx, int promptId, const char *message,
+ loginPromptState state, Boolean minimumTime);
+extern const char *GetPrompt(Widget ctx, int promptId);
+
+extern int SetValue(Widget ctx, int promptId, char *value);
+extern const char *GetValue(Widget ctx, int promptId);
+
+#endif /* _XtLogin_h */
+/* DON'T ADD STUFF AFTER THIS #endif */