diff options
author | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 16:49:23 +0000 |
---|---|---|
committer | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 16:49:23 +0000 |
commit | ac8c3cf394fb9d0eb57332ea7b2d12fb3c4a396d (patch) | |
tree | 02cb7504dab187ebcae1e7fbb0b002225dda2a73 | |
parent | c8ddd5d82a72167de6e0a544b55f9b03ab93053e (diff) |
XFree86 4.3.0.1xf86-4_3_0_1PRE_xf86-4_3_0_1
-rw-r--r-- | auth.c | 77 | ||||
-rw-r--r-- | auth.h | 16 | ||||
-rw-r--r-- | choose.c | 117 | ||||
-rw-r--r-- | choose.h | 21 | ||||
-rw-r--r-- | globals.c | 3 | ||||
-rw-r--r-- | info.c | 112 | ||||
-rw-r--r-- | info.h | 21 | ||||
-rw-r--r-- | list.h | 26 | ||||
-rw-r--r-- | lock.c | 46 | ||||
-rw-r--r-- | lock.h | 18 | ||||
-rw-r--r-- | log.c | 31 | ||||
-rw-r--r-- | log.h | 15 | ||||
-rw-r--r-- | mainwin.c | 13 | ||||
-rw-r--r-- | mainwin.h | 8 | ||||
-rw-r--r-- | misc.c | 45 | ||||
-rw-r--r-- | popup.c | 15 | ||||
-rw-r--r-- | popup.h | 12 | ||||
-rw-r--r-- | prop.c | 56 | ||||
-rw-r--r-- | prop.h | 26 | ||||
-rw-r--r-- | remote.c | 25 | ||||
-rw-r--r-- | restart.c | 42 | ||||
-rw-r--r-- | restart.h | 20 | ||||
-rw-r--r-- | save.c | 206 | ||||
-rw-r--r-- | save.h | 35 | ||||
-rw-r--r-- | saveutil.c | 62 | ||||
-rw-r--r-- | saveutil.h | 16 | ||||
-rw-r--r-- | signals.c | 41 | ||||
-rw-r--r-- | xsm.c | 213 | ||||
-rw-r--r-- | xsm.h | 38 | ||||
-rw-r--r-- | xsm.man | 5 | ||||
-rw-r--r-- | xtwatch.c | 35 | ||||
-rw-r--r-- | xtwatch.h | 10 |
32 files changed, 597 insertions, 829 deletions
@@ -23,10 +23,18 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/auth.c,v 1.7 2001/12/14 20:02:23 dawes Exp $ */ #include "xsm.h" #include <X11/ICE/ICEutil.h> +#include "auth.h" + +#ifdef HAS_MKSTEMP +#include <unistd.h> +#endif +#include <sys/types.h> +#include <sys/stat.h> static char *addAuthFile = NULL; static char *remAuthFile = NULL; @@ -40,10 +48,7 @@ static char *remAuthFile = NULL; */ Bool -HostBasedAuthProc (hostname) - -char *hostname; - +HostBasedAuthProc(char *hostname) { return (0); /* For now, we don't support host based authentication */ } @@ -56,12 +61,7 @@ char *hostname; */ static void -write_iceauth (addfp, removefp, entry) - -FILE *addfp; -FILE *removefp; -IceAuthDataEntry *entry; - +write_iceauth(FILE *addfp, FILE *removefp, IceAuthDataEntry *entry) { fprintf (addfp, "add %s \"\" %s %s ", @@ -80,13 +80,15 @@ IceAuthDataEntry *entry; +#ifndef HAS_MKSTEMP static char * -unique_filename (path, prefix) - -char *path; -char *prefix; - +unique_filename(char *path, char *prefix) +#else +static char * +unique_filename(char *path, char *prefix, int *pFd) +#endif { +#ifndef HAS_MKSTEMP #ifndef X_NOT_POSIX return ((char *) tempnam (path, prefix)); #else @@ -104,6 +106,19 @@ char *prefix; else return (NULL); #endif +#else + char tempFile[PATH_MAX]; + char *ptr; + + sprintf (tempFile, "%s/%sXXXXXX", path, prefix); + ptr = (char *)malloc(strlen(tempFile) + 1); + if (ptr != NULL) + { + strcpy(ptr, tempFile); + *pFd = mkstemp(ptr); + } + return ptr; +#endif } @@ -116,12 +131,8 @@ char *prefix; #define MAGIC_COOKIE_LEN 16 Status -SetAuthentication (count, listenObjs, authDataEntries) - -int count; -IceListenObj *listenObjs; -IceAuthDataEntry **authDataEntries; - +SetAuthentication(int count, IceListenObj *listenObjs, + IceAuthDataEntry **authDataEntries) { FILE *addfp = NULL; FILE *removefp = NULL; @@ -129,6 +140,9 @@ IceAuthDataEntry **authDataEntries; int original_umask; char command[256]; int i; +#ifdef HAS_MKSTEMP + int fd; +#endif original_umask = umask (0077); /* disallow non-owner access */ @@ -139,7 +153,7 @@ IceAuthDataEntry **authDataEntries; if (!path) path = "."; } - +#ifndef HAS_MKSTEMP if ((addAuthFile = unique_filename (path, ".xsm")) == NULL) goto bad; @@ -151,6 +165,19 @@ IceAuthDataEntry **authDataEntries; if (!(removefp = fopen (remAuthFile, "w"))) goto bad; +#else + if ((addAuthFile = unique_filename (path, ".xsm", &fd)) == NULL) + goto bad; + + if (!(addfp = fdopen(fd, "wb"))) + goto bad; + + if ((remAuthFile = unique_filename (path, ".xsm", &fd)) == NULL) + goto bad; + + if (!(removefp = fdopen(fd, "wb"))) + goto bad; +#endif if ((*authDataEntries = (IceAuthDataEntry *) XtMalloc ( count * 2 * sizeof (IceAuthDataEntry))) == NULL) @@ -225,11 +252,7 @@ IceAuthDataEntry **authDataEntries; */ void -FreeAuthenticationData (count, authDataEntries) - -int count; -IceAuthDataEntry *authDataEntries; - +FreeAuthenticationData(int count, IceAuthDataEntry *authDataEntries) { /* Each transport has entries for ICE and XSMP */ @@ -23,7 +23,17 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/auth.h,v 1.6 2001/12/14 20:02:23 dawes Exp $ */ -extern Status SetAuthentication (); -extern void FreeAuthenticationData (); -extern Bool HostBasedAuthProc (); +#ifndef _AUTH_H_ +#define _AUTH_H_ + +#include <X11/ICE/ICEutil.h> + +extern Bool HostBasedAuthProc(char *hostname); +extern Status SetAuthentication(int count, IceListenObj *listenObjs, + IceAuthDataEntry **authDataEntries); +extern void FreeAuthenticationData(int count, + IceAuthDataEntry *authDataEntries); + +#endif @@ -23,10 +23,12 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/choose.c,v 1.5 2001/12/14 20:02:24 dawes Exp $ */ #include "xsm.h" #include "saveutil.h" #include "lock.h" +#include "choose.h" #include <sys/types.h> #include <X11/Shell.h> @@ -71,13 +73,8 @@ Widget chooseSessionCancelButton; int -GetSessionNames (count_ret, short_names_ret, long_names_ret, locked_ret) - -int *count_ret; -String **short_names_ret; -String **long_names_ret; -Bool **locked_ret; - +GetSessionNames(int *count_ret, String **short_names_ret, + String **long_names_ret, Bool **locked_ret) { DIR *dir; struct dirent *entry; @@ -132,7 +129,7 @@ Bool **locked_ret; { char *name = (char *) entry->d_name + 5; char *id = NULL; - Bool locked = CheckSessionLocked (name, long_names_ret, &id); + Bool locked = CheckSessionLocked (name, long_names_ret!=NULL, &id); (*short_names_ret)[*count_ret] = XtNewString (name); (*locked_ret)[*count_ret] = locked; @@ -174,13 +171,8 @@ Bool **locked_ret; void -FreeSessionNames (count, namesShort, namesLong, lockFlags) - -int count; -String *namesShort; -String *namesLong; -Bool *lockFlags; - +FreeSessionNames(int count, String *namesShort, String *namesLong, + Bool *lockFlags) { int i; @@ -202,11 +194,7 @@ Bool *lockFlags; static void -SessionSelected (number, highlight) - -int number; -Bool highlight; - +SessionSelected(int number, Bool highlight) { if (number >= 0) { @@ -230,11 +218,7 @@ Bool highlight; static void -AddSessionNames (count, names) - -int count; -String *names; - +AddSessionNames(int count, String *names) { int i; @@ -254,13 +238,9 @@ String *names; void -ChooseWindowStructureNotifyXtHandler (w, closure, event, continue_to_dispatch) - -Widget w; -XtPointer closure; -XEvent *event; -Boolean *continue_to_dispatch; - +ChooseWindowStructureNotifyXtHandler(Widget w, XtPointer closure, + XEvent *event, + Boolean *continue_to_dispatch) { if (event->type == MapNotify) { @@ -284,8 +264,7 @@ Boolean *continue_to_dispatch; void -ChooseSession () - +ChooseSession(void) { Dimension width, height; Position x, y; @@ -348,8 +327,7 @@ ChooseSession () static void -CheckDeleteCancel () - +CheckDeleteCancel (void) { if (delete_session_phase > 0) { @@ -363,8 +341,7 @@ CheckDeleteCancel () static void -CheckBreakLockCancel () - +CheckBreakLockCancel(void) { if (break_lock_phase > 0) { @@ -379,13 +356,7 @@ CheckBreakLockCancel () static void -ChooseSessionUp (w, event, params, numParams) - -Widget w; -XEvent *event; -String *params; -Cardinal *numParams; - +ChooseSessionUp(Widget w, XEvent *event, String *params, Cardinal *numParams) { XawListReturnStruct *current; @@ -400,13 +371,7 @@ Cardinal *numParams; static void -ChooseSessionDown (w, event, params, numParams) - -Widget w; -XEvent *event; -String *params; -Cardinal *numParams; - +ChooseSessionDown(Widget w, XEvent *event, String *params, Cardinal *numParams) { XawListReturnStruct *current; @@ -422,13 +387,8 @@ Cardinal *numParams; static void -ChooseSessionBtn1Down (w, event, params, numParams) - -Widget w; -XEvent *event; -String *params; -Cardinal *numParams; - +ChooseSessionBtn1Down(Widget w, XEvent *event, String *params, + Cardinal *numParams) { XawListReturnStruct *current; @@ -443,12 +403,7 @@ Cardinal *numParams; static void -ChooseSessionLoadXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +ChooseSessionLoadXtProc(Widget w, XtPointer client_data, XtPointer callData) { XawListReturnStruct *current; @@ -497,12 +452,7 @@ XtPointer callData; static void -ChooseSessionDeleteXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +ChooseSessionDeleteXtProc(Widget w, XtPointer client_data, XtPointer callData) { XawListReturnStruct *current; int longest; @@ -596,12 +546,8 @@ XtPointer callData; static void -ChooseSessionBreakLockXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +ChooseSessionBreakLockXtProc(Widget w, XtPointer client_data, + XtPointer callData) { XawListReturnStruct *current; char *name; @@ -674,12 +620,8 @@ XtPointer callData; static void -ChooseSessionFailSafeXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +ChooseSessionFailSafeXtProc(Widget w, XtPointer client_data, + XtPointer callData) { /* * Pop down choice of sessions, and start the fail safe session. @@ -713,12 +655,7 @@ XtPointer callData; static void -ChooseSessionCancelXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +ChooseSessionCancelXtProc(Widget w, XtPointer client_data, XtPointer callData) { if (delete_session_phase > 0 || break_lock_phase > 0) { @@ -736,7 +673,7 @@ XtPointer callData; void -create_choose_session_popup () +create_choose_session_popup(void) { static XtActionsRec choose_actions[] = { @@ -23,8 +23,21 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/choose.h,v 1.6 2001/12/14 20:02:24 dawes Exp $ */ -extern void create_choose_session_popup (); -extern int GetSessionNames (); -extern void FreeSessionNames (); -extern void ChooseSession (); +#ifndef _CHOOSE_H_ +#define _CHOOSE_H_ + +#include <X11/Intrinsic.h> + +extern int GetSessionNames(int *count_ret, String **short_names_ret, + String **long_names_ret, Bool **locked_ret); +extern void FreeSessionNames(int count, String *namesShort, String *namesLong, + Bool *lockFlags); +extern void ChooseWindowStructureNotifyXtHandler(Widget w, XtPointer closure, + XEvent *event, + Boolean *continue_to_dispatch); +extern void ChooseSession(void); +extern void create_choose_session_popup(void); + +#endif @@ -23,6 +23,7 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/globals.c,v 1.6 2001/12/14 20:02:25 dawes Exp $ */ #include <X11/ICE/ICEutil.h> @@ -35,6 +36,7 @@ List *RestartAnywayList; List *RestartImmedList; List *WaitForSaveDoneList; +List *InitialSaveList; List *FailedSaveList; List *WaitForInteractList; List *WaitForPhase2List; @@ -86,3 +88,4 @@ Bool remote_allowed; XtAppContext appContext; Widget topLevel; +XtSignalId sig_term_id, sig_usr1_id; @@ -23,10 +23,13 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/info.c,v 1.6 2001/12/14 20:02:25 dawes Exp $ */ #include "xsm.h" #include "restart.h" #include "popup.h" +#include "info.h" +#include "prop.h" #include <X11/Shell.h> #include <X11/Xaw/Form.h> @@ -64,10 +67,7 @@ Widget clientPropTextWidget; void -ShowHint (client) - -ClientRec *client; - +ShowHint(ClientRec *client) { static Widget active = NULL; int hint = client->restartHint; @@ -101,11 +101,7 @@ typedef struct { static void -AppendStr (buffer, str) - -Buffer *buffer; -char *str; - +AppendStr(Buffer *buffer, char *str) { int len = strlen (str); @@ -130,10 +126,7 @@ char *str; void -DisplayProps (client) - -ClientRec *client; - +DisplayProps(ClientRec *client) { int index; List *pl, *pj, *vl; @@ -265,12 +258,7 @@ ClientRec *client; static void -ClientListXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +ClientListXtProc(Widget w, XtPointer client_data, XtPointer callData) { XawListReturnStruct *current = (XawListReturnStruct *) callData; ClientRec *client; @@ -289,12 +277,7 @@ XtPointer callData; static void -ViewPropXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +ViewPropXtProc(Widget w, XtPointer client_data, XtPointer callData) { ClientRec *client; XawListReturnStruct *current; @@ -316,12 +299,7 @@ XtPointer callData; static void -CloneXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +CloneXtProc(Widget w, XtPointer client_data, XtPointer callData) { ClientRec *client; XawListReturnStruct *current; @@ -346,12 +324,7 @@ XtPointer callData; static void -KillClientXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +KillClientXtProc(Widget w, XtPointer client_data, XtPointer callData) { ClientRec *client; XawListReturnStruct *current; @@ -375,12 +348,7 @@ XtPointer callData; static void -listDoneXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +listDoneXtProc(Widget w, XtPointer client_data, XtPointer callData) { XtPopdown (clientInfoPopup); client_info_visible = 0; @@ -389,10 +357,7 @@ XtPointer callData; char * -GetProgramName (fullname) - -char *fullname; - +GetProgramName(char *fullname) { char *lastSlash = NULL; int i; @@ -410,8 +375,7 @@ char *fullname; void -UpdateClientList () - +UpdateClientList(void) { ClientRec *client; char *progName, *hostname, *tmp1, *tmp2; @@ -617,12 +581,7 @@ UpdateClientList () static void -RestartHintXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +RestartHintXtProc(Widget w, XtPointer client_data, XtPointer callData) { XawListReturnStruct *current; ClientRec *client; @@ -667,6 +626,7 @@ XtPointer callData; if (strcmp (SmRestartStyleHint, pprop->name) == 0) { List *vl = ListFirst (pprop->values); + PropValue *pval = (PropValue *) vl->thing; *((char *) (pval->value)) = hint; @@ -706,12 +666,7 @@ XtPointer callData; static void -clientPropDoneXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +clientPropDoneXtProc(Widget w, XtPointer client_data, XtPointer callData) { XtPopdown (clientPropPopup); client_prop_visible = 0; @@ -720,13 +675,9 @@ XtPointer callData; void -ClientInfoStructureNotifyXtHandler (w, closure, event, continue_to_dispatch) - -Widget w; -XtPointer closure; -XEvent *event; -Boolean *continue_to_dispatch; - +ClientInfoStructureNotifyXtHandler(Widget w, XtPointer closure, + XEvent *event, + Boolean *continue_to_dispatch) { if (event->type == MapNotify) { @@ -743,11 +694,7 @@ Boolean *continue_to_dispatch; void -ClientInfoXtProc (w, client_data, callData) - Widget w; - XtPointer client_data; - XtPointer callData; - +ClientInfoXtProc(Widget w, XtPointer client_data, XtPointer callData) { static int first_time = 1; @@ -801,13 +748,8 @@ static unsigned char check_bits[] = { static void -DelClientInfoWinAction (w, event, params, num_params) - -Widget w; -XEvent *event; -String *params; -Cardinal *num_params; - +DelClientInfoWinAction(Widget w, XEvent *event, String *params, + Cardinal *num_params) { XtCallCallbacks (clientInfoDoneButton, XtNcallback, NULL); } @@ -815,13 +757,7 @@ Cardinal *num_params; static void -DelPropWinAction (w, event, params, num_params) - -Widget w; -XEvent *event; -String *params; -Cardinal *num_params; - +DelPropWinAction(Widget w, XEvent *event, String *params, Cardinal *num_params) { XtCallCallbacks (clientPropDoneButton, XtNcallback, NULL); } @@ -829,7 +765,7 @@ Cardinal *num_params; void -create_client_info_popup () +create_client_info_popup(void) { /* @@ -23,7 +23,22 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/info.h,v 3.5 2001/12/14 20:02:25 dawes Exp $ */ -extern void create_client_info_popup (); -extern void UpdateClientList (); -extern void ClientInfoXtProc (); +#ifndef _INFO_H_ +#define _INFO_H_ + +#include "xsm.h" + +extern void ShowHint(ClientRec *client); +extern void DisplayProps(ClientRec *client); +extern char * GetProgramName(char *fullname); +extern void UpdateClientList(void); +extern void ClientInfoStructureNotifyXtHandler(Widget w, XtPointer closure, + XEvent *event, + Boolean *continue_to_dispatch); +extern void ClientInfoXtProc(Widget w, XtPointer client_data, + XtPointer callData); +extern void create_client_info_popup(void); + +#endif @@ -23,6 +23,10 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/list.h,v 1.6 2001/12/14 20:02:25 dawes Exp $ */ + +#ifndef _LIST_H_ +#define _LIST_H_ typedef struct _List { struct _List *prev; @@ -30,13 +34,15 @@ typedef struct _List { char *thing; } List; -extern List *ListInit(); -extern List *ListFirst(); -extern List *ListNext(); -extern void ListFreeAll(); -extern void ListFreeAllButHead(); -extern void ListFreeOne(); -extern Status ListSearchAndFreeOne(); -extern List *ListAddFirst(); -extern List *ListAddLast(); -extern int ListCount(); +extern List *ListInit(void); +extern List *ListFirst(List *l); +extern List *ListNext(List *l); +extern void ListFreeAll(List *l); +extern void ListFreeAllButHead(List *l); +extern List *ListAddFirst(List *l, char *v); +extern List *ListAddLast(List *l, char *v); +extern void ListFreeOne(List *e); +extern Status ListSearchAndFreeOne(List *l, char *thing); +extern int ListCount(List *l); + +#endif @@ -23,14 +23,16 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/lock.c,v 3.5 2002/05/31 18:46:14 dawes Exp $ */ #include "xsm.h" +#include "lock.h" +#include "choose.h" #include <sys/types.h> static char * -GetPath () - +GetPath(void) { char *path = (char *) getenv ("SM_SAVE_DIR"); @@ -46,11 +48,7 @@ GetPath () Status -LockSession (session_name, write_id) - -char *session_name; -Bool write_id; - +LockSession(char *session_name, Bool write_id) { char *path; char lock_file[PATH_MAX]; @@ -60,14 +58,18 @@ Bool write_id; path = GetPath (); +#ifndef __UNIXOS2__ sprintf (lock_file, "%s/.XSMlock-%s", path, session_name); sprintf (temp_lock_file, "%s/.XSMtlock-%s", path, session_name); +#else + sprintf (temp_lock_file, "%s/%s.slk", path, session_name); +#endif if ((fd = creat (temp_lock_file, 0444)) < 0) return (0); - if (write_id && - (write (fd, networkIds, strlen (networkIds)) != strlen (networkIds)) || + if ((write_id && + (write (fd, networkIds, strlen (networkIds)) != strlen (networkIds))) || (write (fd, "\n", 1) != 1)) { close (fd); @@ -76,6 +78,7 @@ Bool write_id; close (fd); +#ifndef __UNIXOS2__ status = 1; if (link (temp_lock_file, lock_file) < 0) @@ -83,16 +86,16 @@ Bool write_id; if (unlink (temp_lock_file) < 0) status = 0; +#else + status = 0; +#endif return (status); } void -UnlockSession (session_name) - -char *session_name; - +UnlockSession(char *session_name) { char *path; char lock_file[PATH_MAX]; @@ -106,10 +109,7 @@ char *session_name; char * -GetLockId (session_name) - -char *session_name; - +GetLockId(char *session_name) { char *path; FILE *fp; @@ -137,12 +137,7 @@ char *session_name; Bool -CheckSessionLocked (session_name, get_id, id_ret) - -char *session_name; -Bool get_id; -char **id_ret; - +CheckSessionLocked(char *session_name, Bool get_id, char **id_ret) { if (get_id) *id_ret = GetLockId (session_name); @@ -156,10 +151,7 @@ char **id_ret; void -UnableToLockSession (session_name) - -char *session_name; - +UnableToLockSession(char *session_name) { /* * We should popup a dialog here giving error. @@ -23,9 +23,17 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/lock.h,v 1.6 2001/12/14 20:02:25 dawes Exp $ */ -extern Status LockSession (); -extern void UnlockSession (); -extern char *GetLockId (); -extern Bool CheckSessionLocked (); -extern void UnableToLockSession (); +#ifndef _LOCK_H_ +#define _LOCK_H_ + +#include <X11/Xdefs.h> + +extern Status LockSession(char *session_name, Bool write_id); +extern void UnlockSession(char* session_name); +extern char * GetLockId(char *session_name); +extern Bool CheckSessionLocked(char *session_name, Bool get_id, char **id_ret); +extern void UnableToLockSession(char *session_name); + +#endif @@ -23,10 +23,12 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/log.c,v 1.5 2001/12/14 20:02:26 dawes Exp $ */ #include "xsm.h" #include "save.h" #include "popup.h" +#include "log.h" #include <X11/Shell.h> #include <X11/Xaw/Form.h> @@ -41,12 +43,7 @@ Widget logOkButton; void -DisplayLogXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +DisplayLogXtProc(Widget w, XtPointer client_data, XtPointer callData) { static int first_time = 1; @@ -71,12 +68,7 @@ XtPointer callData; static void -logOkXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +logOkXtProc(Widget w, XtPointer client_data, XtPointer callData) { XtPopdown (logPopup); client_log_visible = 0; @@ -85,10 +77,7 @@ XtPointer callData; void -add_log_text (str) - -char *str; - +add_log_text(char *str) { XawTextPosition pos = XawTextGetInsertionPoint (logText); XawTextBlock text; @@ -104,13 +93,7 @@ char *str; static void -DelLogWinAction (w, event, params, num_params) - -Widget w; -XEvent *event; -String *params; -Cardinal *num_params; - +DelLogWinAction(Widget w, XEvent *event, String *params, Cardinal *num_params) { XtCallCallbacks (logOkButton, XtNcallback, NULL); } @@ -118,7 +101,7 @@ Cardinal *num_params; void -create_log_popup () +create_log_popup(void) { /* @@ -23,7 +23,16 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/log.h,v 1.6 2001/12/14 20:02:26 dawes Exp $ */ -extern void DisplayLogXtProc (); -extern void create_log_popup (); -extern void add_log_text (); +#ifndef _LOG_H_ +#define _LOG_H_ + +#include <X11/Intrinsic.h> + +extern void DisplayLogXtProc(Widget w, XtPointer client_data, + XtPointer callData); +extern void add_log_text(char *str); +extern void create_log_popup(void); + +#endif @@ -23,11 +23,13 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/mainwin.c,v 1.5 2001/12/14 20:02:26 dawes Exp $ */ #include "xsm.h" #include "info.h" #include "save.h" #include "log.h" +#include "mainwin.h" #include <X11/Shell.h> #include <X11/Xaw/Form.h> @@ -48,13 +50,7 @@ Widget shutdownDontSave; static void -DelMainWinAction (w, event, params, num_params) - -Widget w; -XEvent *event; -String *params; -Cardinal *num_params; - +DelMainWinAction(Widget w, XEvent *event, String *params, Cardinal *num_params) { XtCallCallbacks (shutdownSave, XtNcallback, NULL); } @@ -62,8 +58,7 @@ Cardinal *num_params; void -create_main_window () - +create_main_window (void) { /* * Main window @@ -23,5 +23,11 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/mainwin.h,v 1.6 2001/12/14 20:02:26 dawes Exp $ */ -extern void create_main_window (); +#ifndef _MAINWIN_H_ +#define _MAINWIN_H_ + +extern void create_main_window(void); + +#endif @@ -23,6 +23,7 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/misc.c,v 1.6 2001/12/14 20:02:26 dawes Exp $ */ #include "xsm.h" @@ -37,8 +38,7 @@ in this Software without prior written authorization from The Open Group. * called NAME. */ int -putenv(s) - char *s; +putenv(char *s) { char *v; int varlen, idx; @@ -95,46 +95,17 @@ putenv(s) -strbw (a, b) - -char *a; -char *b; - +int +strbw(char *a, char *b) { return !strncmp (a, b, strlen (b)); } -#ifdef X_NOT_STDC_ENV - -char *Strstr (s1, s2) - -char *s1; -char *s2; - -{ - int n1, n2; - - n1 = strlen (s1); - n2 = strlen (s2); - - for (; n1 >= n2; s1++, n1--) - { - if (!strncmp (s1, s2, n2)) - return s1; - } - - return NULL; -} - -#endif - - - #if defined(sun) && defined(SVR4) -int System (s) - char *s; +int +System(char *s) { int pid, status; if ((pid = fork ()) == 0) { @@ -148,8 +119,8 @@ int System (s) -nomem () - +void +nomem(void) { fprintf (stderr, "Insufficient memory.\n"); exit (255); @@ -27,23 +27,16 @@ other dealings in this Software without prior written authorization from The Open Group. */ +/* $XFree86: xc/programs/xsm/popup.c,v 1.5 2001/12/14 20:02:26 dawes Exp $ */ #include "xsm.h" #include <X11/Shell.h> +#include "popup.h" void -PopupPopup (parent, popup, transient, first_time, - offset_x, offset_y, delAction) - -Widget parent; -Widget popup; -Bool transient; -Bool first_time; -int offset_x; -int offset_y; -String delAction; - +PopupPopup(Widget parent, Widget popup, Bool transient, Bool first_time, + int offset_x, int offset_y, String delAction) { if (!transient && !first_time) { @@ -27,5 +27,15 @@ other dealings in this Software without prior written authorization from The Open Group. */ +/* $XFree86: xc/programs/xsm/popup.h,v 1.6 2001/12/14 20:02:26 dawes Exp $ */ -extern void PopupPopup (); +#ifndef _POPUP_H_ +#define _POPUP_H_ + +#include <X11/Intrinsic.h> + +extern void PopupPopup(Widget parent, Widget popup, Bool transient, + Bool first_time, int offset_x, int offset_y, + String delAction); + +#endif @@ -23,17 +23,18 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/prop.c,v 1.5 2001/12/14 20:02:26 dawes Exp $ */ #include "xsm.h" +#include "info.h" +#include "prop.h" +#include <X11/Xaw/List.h> extern Widget clientListWidget; void -FreePropValues (propValues) - -List *propValues; - +FreePropValues(List *propValues) { List *pv; PropValue *pval; @@ -51,10 +52,7 @@ List *propValues; void -FreeProp (prop) - -Prop *prop; - +FreeProp(Prop *prop) { FreePropValues (prop->values); XtFree (prop->name); @@ -65,11 +63,7 @@ Prop *prop; void -SetInitialProperties (client, props) - -ClientRec *client; -List *props; - +SetInitialProperties(ClientRec *client, List *props) { List *pl; @@ -129,12 +123,7 @@ List *props; void -SetProperty (client, theProp, freeIt) - -ClientRec *client; -SmProp *theProp; -Bool freeIt; - +SetProperty(ClientRec *client, SmProp *theProp, Bool freeIt) { List *pl; Prop *pprop = NULL; @@ -232,11 +221,7 @@ Bool freeIt; void -DeleteProperty (client, propname) - -ClientRec *client; -char *propname; - +DeleteProperty(ClientRec *client, char *propname) { List *pl; @@ -271,13 +256,8 @@ char *propname; void -SetPropertiesProc (smsConn, managerData, numProps, props) - -SmsConn smsConn; -SmPointer managerData; -int numProps; -SmProp **props; - +SetPropertiesProc(SmsConn smsConn, SmPointer managerData, int numProps, + SmProp **props) { ClientRec *client = (ClientRec *) managerData; int updateList, i; @@ -317,12 +297,8 @@ SmProp **props; void -DeletePropertiesProc (smsConn, managerData, numProps, propNames) - -SmsConn smsConn; -SmPointer managerData; -int numProps; -char **propNames; +DeletePropertiesProc(SmsConn smsConn, SmPointer managerData, + int numProps, char **propNames) { ClientRec *client = (ClientRec *) managerData; @@ -350,11 +326,7 @@ char **propNames; void -GetPropertiesProc (smsConn, managerData) - -SmsConn smsConn; -SmPointer managerData; - +GetPropertiesProc(SmsConn smsConn, SmPointer managerData) { ClientRec *client = (ClientRec *) managerData; SmProp **propsRet, *propRet; @@ -23,12 +23,22 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/prop.h,v 1.6 2001/12/14 20:02:26 dawes Exp $ */ -extern void FreePropValues (); -extern void FreeProp (); -extern void SetInitialProperties (); -extern void SetProperty (); -extern void DeleteProperty (); -extern void SetPropertiesProc (); -extern void DeletePropertiesProc (); -extern void GetPropertiesProc (); +#ifndef _PROP_H_ +#define _PROP_H_ + +#include "xsm.h" + +extern void FreePropValues(List *propValues); +extern void FreeProp(Prop *prop); +extern void SetInitialProperties(ClientRec *client, List *props); +extern void SetProperty(ClientRec *client, SmProp *theProp, Bool freeIt); +extern void DeleteProperty(ClientRec *client, char *propname); +extern void SetPropertiesProc(SmsConn smsConn, SmPointer managerData, + int numProps, SmProp **props); +extern void DeletePropertiesProc(SmsConn smsConn, SmPointer managerData, + int numProps, char **propNames); +extern void GetPropertiesProc(SmsConn smsConn, SmPointer managerData); + +#endif @@ -23,35 +23,27 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/remote.c,v 1.5 2001/12/14 20:02:26 dawes Exp $ */ /* * We use the rstart protocol to restart clients on remote machines. */ #include "xsm.h" +#include "log.h" #include <X11/ICE/ICEutil.h> -static char *format_rstart_env(); +static char *format_rstart_env(char *str); extern IceAuthDataEntry *authDataEntries; extern int numTransports; -extern void fprintfhex (); void -remote_start (restart_protocol, restart_machine, program, args, cwd, env, - non_local_display_env, non_local_session_env) - -char *restart_protocol; -char *restart_machine; -char *program; -char **args; -char *cwd; -char **env; -char *non_local_display_env; -char *non_local_session_env; - +remote_start(char *restart_protocol, char *restart_machine, char *program, + char **args, char *cwd, char **env, + char *non_local_display_env, char *non_local_session_env) { FILE *fp; int pipefd[2]; @@ -211,10 +203,7 @@ char *non_local_session_env; */ static char * -format_rstart_env (str) - -char *str; - +format_rstart_env(char *str) { int escape_count = 0, i; char *temp = str; @@ -23,11 +23,14 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/restart.c,v 1.6 2001/12/14 20:02:26 dawes Exp $ */ #include "xsm.h" #include "log.h" +#include "restart.h" +#include "saveutil.h" -extern void remote_start (); +extern char **environ; /* @@ -36,10 +39,7 @@ extern void remote_start (); */ Bool -CheckIsManager (program) - -char *program; - +CheckIsManager(char *program) { return (strcmp (program, "twm") == 0); } @@ -77,15 +77,8 @@ char *program; */ void -GetRestartInfo (restart_service_prop, client_host_name, - run_local, restart_protocol, restart_machine) - -char *restart_service_prop; -char *client_host_name; -Bool *run_local; -char **restart_protocol; -char **restart_machine; - +GetRestartInfo(char *restart_service_prop, char *client_host_name, + Bool *run_local, char **restart_protocol, char **restart_machine) { char hostnamebuf[80]; char *temp; @@ -149,10 +142,7 @@ char **restart_machine; */ Status -Restart (flag) - -int flag; - +Restart(int flag) { List *cl, *pl, *vl; PendingClient *c; @@ -163,7 +153,6 @@ int flag; char **env; char **pp; int cnt; - extern char **environ; char *p; char *restart_service_prop; char *restart_protocol; @@ -349,18 +338,13 @@ int flag; */ void -Clone (client, useSavedState) - -ClientRec *client; -Bool useSavedState; - +Clone(ClientRec *client, Bool useSavedState) { char *cwd; char *program; char **args; char **env; char **pp; - extern char **environ; char *p; char *restart_service_prop; char *restart_protocol; @@ -531,8 +515,7 @@ Bool useSavedState; void -StartDefaultApps () - +StartDefaultApps (void) { FILE *f; char *buf, *p, *home, filename[128]; @@ -563,7 +546,7 @@ StartDefaultApps () buf = NULL; buflen = 0; - while (getline(&buf, &buflen, f)) + while (getnextline(&buf, &buflen, f)) { char logtext[256]; @@ -593,8 +576,7 @@ StartDefaultApps () void -StartNonSessionAwareApps () - +StartNonSessionAwareApps(void) { char logtext[256]; int i; @@ -23,8 +23,20 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/restart.h,v 1.6 2001/12/14 20:02:27 dawes Exp $ */ -extern void StartDefaultApps (); -extern void StartNonSessionAwareApps (); -extern Status Restart (); -extern void Clone (); +#ifndef _RESTART_H_ +#define _RESTART_H_ + +#include "xsm.h" + +extern Bool CheckIsManager(char *program); +extern void GetRestartInfo(char *restart_service_prop, char *client_host_name, + Bool *run_local, char **restart_protocol, + char **restart_machine); +extern Status Restart(int flag); +extern void Clone(ClientRec *client, Bool useSavedState); +extern void StartDefaultApps(void); +extern void StartNonSessionAwareApps(void); + +#endif @@ -23,11 +23,15 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/save.c,v 3.4 2001/12/14 20:02:27 dawes Exp $ */ #include "xsm.h" #include "save.h" #include "saveutil.h" #include "popup.h" +#include "info.h" +#include "lock.h" +#include "choose.h" #include <X11/Shell.h> #include <X11/Xaw/Form.h> @@ -94,15 +98,10 @@ static Bool help_visible = False; static String name_in_use = NULL; static Bool name_locked = False; -void SetSaveSensitivity (); static void -MakeCurrentSession (new_name, name_changed) - -String new_name; -Bool name_changed; - +MakeCurrentSession(String new_name, Bool name_changed) { char title[256]; List *cl; @@ -190,10 +189,7 @@ Bool name_changed; #define NAME_LOCKED 3 static int -GetSaveName (nameRet) - -String *nameRet; - +GetSaveName(String *nameRet) { String new_name = NULL; Bool name_changed; @@ -253,12 +249,7 @@ String *nameRet; static void -GetSaveOptions (saveType, interactStyle, fast) - -int *saveType; -int *interactStyle; -Bool *fast; - +GetSaveOptions(int *saveType, int *interactStyle, Bool *fast) { XtPointer ptr; @@ -279,12 +270,8 @@ Bool *fast; -DoSave (saveType, interactStyle, fast) - -int saveType; -int interactStyle; -Bool fast; - +void +DoSave(int saveType, int interactStyle, Bool fast) { ClientRec *client; List *cl; @@ -354,13 +341,7 @@ Bool fast; static void -SaveOkAction (w, event, params, num_params) - -Widget w; -XEvent *event; -String *params; -Cardinal *num_params; - +SaveOkAction(Widget w, XEvent *event, String *params, Cardinal *num_params) { XtCallCallbacks (saveOkButton, XtNcallback, NULL); } @@ -368,13 +349,7 @@ Cardinal *num_params; static void -DelSaveWinAction (w, event, params, num_params) - -Widget w; -XEvent *event; -String *params; -Cardinal *num_params; - +DelSaveWinAction(Widget w, XEvent *event, String *params, Cardinal *num_params) { XtCallCallbacks (saveCancelButton, XtNcallback, NULL); } @@ -382,13 +357,8 @@ Cardinal *num_params; static void -DelNameInUseWinAction (w, event, params, num_params) - -Widget w; -XEvent *event; -String *params; -Cardinal *num_params; - +DelNameInUseWinAction(Widget w, XEvent *event, String *params, + Cardinal *num_params) { XtCallCallbacks (nameInUseCancelButton, XtNcallback, NULL); } @@ -396,13 +366,8 @@ Cardinal *num_params; static void -DelBadSaveWinAction (w, event, params, num_params) - -Widget w; -XEvent *event; -String *params; -Cardinal *num_params; - +DelBadSaveWinAction(Widget w, XEvent *event, String *params, + Cardinal *num_params) { if (XtIsManaged (badSaveCancelButton)) XtCallCallbacks (badSaveCancelButton, XtNcallback, NULL); @@ -413,13 +378,8 @@ Cardinal *num_params; static void -DelSaveHelpWinAction (w, event, params, num_params) - -Widget w; -XEvent *event; -String *params; -Cardinal *num_params; - +DelSaveHelpWinAction(Widget w, XEvent *event, String *params, + Cardinal *num_params) { XtCallCallbacks (helpSaveOkButton, XtNcallback, NULL); } @@ -427,12 +387,7 @@ Cardinal *num_params; static void -SaveOkXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +SaveOkXtProc(Widget w, XtPointer client_data, XtPointer callData) { String name = NULL; char label[256]; @@ -504,10 +459,7 @@ XtPointer callData; void -LetClientInteract (cl) - -List *cl; - +LetClientInteract(List *cl) { ClientRec *client = (ClientRec *) cl->thing; @@ -524,8 +476,7 @@ List *cl; void -StartPhase2 () - +StartPhase2(void) { List *cl; @@ -556,8 +507,7 @@ StartPhase2 () void -FinishUpSave () - +FinishUpSave(void) { ClientRec *client; List *cl; @@ -656,12 +606,7 @@ FinishUpSave () static void -SaveCancelXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +SaveCancelXtProc(Widget w, XtPointer client_data, XtPointer callData) { XtPopdown (savePopup); @@ -681,17 +626,8 @@ XtPointer callData; */ static Widget -AddToggle (widgetName, parent, state, radioGroup, radioData, - fromHoriz, fromVert) - -char *widgetName; -Widget parent; -int state; -Widget radioGroup; -XtPointer radioData; -Widget fromHoriz; -Widget fromVert; - +AddToggle(char *widgetName, Widget parent, int state, Widget radioGroup, + XtPointer radioData, Widget fromHoriz, Widget fromVert) { Widget toggle; @@ -710,10 +646,7 @@ Widget fromVert; void -SetSaveSensitivity (on) - -Bool on; - +SetSaveSensitivity(Bool on) { XtSetSensitive (savePopup, on); @@ -741,13 +674,8 @@ Bool on; void -SavePopupStructureNotifyXtHandler (w, closure, event, continue_to_dispatch) - -Widget w; -XtPointer closure; -XEvent *event; -Boolean *continue_to_dispatch; - +SavePopupStructureNotifyXtHandler(Widget w, XtPointer closure, XEvent *event, + Boolean *continue_to_dispatch) { if (event->type == MapNotify) { @@ -781,12 +709,7 @@ Boolean *continue_to_dispatch; static void -NameInUseOverwriteXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +NameInUseOverwriteXtProc(Widget w, XtPointer client_data, XtPointer callData) { if (name_locked) { @@ -812,12 +735,7 @@ XtPointer callData; static void -NameInUseCancelXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +NameInUseCancelXtProc(Widget w, XtPointer client_data, XtPointer callData) { XtPopdown (nameInUsePopup); XtPopup (savePopup, XtGrabNone); @@ -828,12 +746,7 @@ XtPointer callData; static void -BadSaveOkXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +BadSaveOkXtProc(Widget w, XtPointer client_data, XtPointer callData) { ListFreeAllButHead (FailedSaveList); XtPopdown (badSavePopup); @@ -843,12 +756,7 @@ XtPointer callData; static void -BadSaveCancelXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +BadSaveCancelXtProc(Widget w, XtPointer client_data, XtPointer callData) { ListFreeAllButHead (FailedSaveList); XtPopdown (badSavePopup); @@ -879,12 +787,7 @@ XtPointer callData; static void -BadSaveListXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +BadSaveListXtProc(Widget w, XtPointer client_data, XtPointer callData) { } @@ -892,12 +795,7 @@ XtPointer callData; static void -HelpSaveXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +HelpSaveXtProc(Widget w, XtPointer client_data, XtPointer callData) { static int first_time = 1; @@ -922,12 +820,7 @@ XtPointer callData; static void -HelpSaveOkXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +HelpSaveOkXtProc(Widget w, XtPointer client_data, XtPointer callData) { XtPopdown (helpPopup); help_visible = 0; @@ -936,7 +829,7 @@ XtPointer callData; void -create_save_popup () +create_save_popup(void) { XtTranslations translations; @@ -1247,7 +1140,7 @@ create_save_popup () void -PopupSaveDialog () +PopupSaveDialog(void) { static int first_time = 1; @@ -1284,12 +1177,7 @@ PopupSaveDialog () void -CheckPointXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +CheckPointXtProc(Widget w, XtPointer client_data, XtPointer callData) { wantShutdown = False; PopupSaveDialog (); @@ -1299,12 +1187,7 @@ XtPointer callData; void -ShutdownSaveXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +ShutdownSaveXtProc(Widget w, XtPointer client_data, XtPointer callData) { wantShutdown = True; PopupSaveDialog (); @@ -1313,7 +1196,7 @@ XtPointer callData; void -PopupBadSave () +PopupBadSave(void) { ClientRec *client; @@ -1359,7 +1242,7 @@ PopupBadSave () if (strcmp (pprop->name, SmProgram) == 0) { - progName = (char *) GetProgramName ((char *) pval->value); + progName = GetProgramName ((char *) pval->value); if ((int) strlen (progName) > maxlen1) maxlen1 = strlen (progName); @@ -1411,7 +1294,7 @@ PopupBadSave () if (strcmp (pprop->name, SmProgram) == 0) { - progName = (char *) GetProgramName ((char *) pval->value); + progName = GetProgramName ((char *) pval->value); } else if (strcmp (pprop->name, "_XC_RestartService") == 0) { @@ -1479,12 +1362,7 @@ PopupBadSave () void -ShutdownDontSaveXtProc (w, client_data, callData) - -Widget w; -XtPointer client_data; -XtPointer callData; - +ShutdownDontSaveXtProc(Widget w, XtPointer client_data, XtPointer callData) { List *cl; ClientRec *client; @@ -23,13 +23,30 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/save.h,v 1.6 2001/12/14 20:02:27 dawes Exp $ */ -extern void create_save_popup (); -extern void SetSaveSensitivity (); -extern void PopupSaveDialog (); -extern void CheckPointXtProc (); -extern void ShutdownSaveXtProc (); -extern void ShutdownDontSaveXtProc (); -extern void LetClientInteract (); -extern void StartPhase2 (); -extern void FinishUpSave (); +#ifndef _SAVE_H_ +#define _SAVE_H_ + +#include <X11/Intrinsic.h> +#include "list.h" + +extern void DoSave(int saveType, int interactStyle, Bool fast); +extern void LetClientInteract(List *cl); +extern void StartPhase2(void); +extern void FinishUpSave(void); +extern void SetSaveSensitivity(Bool on); +extern void SavePopupStructureNotifyXtHandler(Widget w, XtPointer closure, + XEvent *event, + Boolean *continue_to_dispatch); +extern void create_save_popup(void); +extern void PopupSaveDialog(void); +extern void CheckPointXtProc(Widget w, XtPointer client_data, + XtPointer callData); +extern void ShutdownSaveXtProc(Widget w, XtPointer client_data, + XtPointer callData); +extern void PopupBadSave(void); +extern void ShutdownDontSaveXtProc(Widget w, XtPointer client_data, + XtPointer callData); + +#endif @@ -23,20 +23,19 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/saveutil.c,v 1.6 2001/12/14 20:02:27 dawes Exp $ */ #include "xsm.h" +#include "log.h" +#include "saveutil.h" char session_save_file[PATH_MAX]; -Bool getline(); extern Widget manualRestartCommands; void -set_session_save_file_name (session_name) - -char *session_name; - +set_session_save_file_name(char *session_name) { char *p; @@ -56,17 +55,13 @@ char *session_name; int -ReadSave(session_name, sm_id) - -char *session_name; -char **sm_id; - +ReadSave(char *session_name, char **sm_id) { char *buf; int buflen; char *p; - PendingClient *c; - Prop *prop; + PendingClient *c = NULL; + Prop *prop = NULL; PropValue *val; FILE *f; int state, i; @@ -86,7 +81,7 @@ char **sm_id; buflen = 0; /* Read version # */ - getline(&buf, &buflen, f); + getnextline(&buf, &buflen, f); if((p = strchr(buf, '\n'))) *p = '\0'; version_number = atoi (buf); if (version_number > SAVEFILE_VERSION) @@ -100,20 +95,20 @@ char **sm_id; } /* Read SM's id */ - getline(&buf, &buflen, f); + getnextline(&buf, &buflen, f); if((p = strchr(buf, '\n'))) *p = '\0'; *sm_id = XtNewString(buf); /* Read number of clients running in the last session */ if (version_number >= 2) { - getline(&buf, &buflen, f); + getnextline(&buf, &buflen, f); if((p = strchr(buf, '\n'))) *p = '\0'; num_clients_in_last_session = atoi (buf); } state = 0; - while(getline(&buf, &buflen, f)) { + while(getnextline(&buf, &buflen, f)) { if((p = strchr(buf, '\n'))) *p = '\0'; for(p = buf; *p && isspace(*p); p++) /* LOOP */; if(*p == '#') continue; @@ -213,7 +208,7 @@ char **sm_id; String strbuf; int bufsize = 0; - getline(&buf, &buflen, f); + getnextline(&buf, &buflen, f); if((p = strchr(buf, '\n'))) *p = '\0'; non_session_aware_count = atoi (buf); @@ -224,7 +219,7 @@ char **sm_id; for (i = 0; i < non_session_aware_count; i++) { - getline(&buf, &buflen, f); + getnextline(&buf, &buflen, f); if((p = strchr(buf, '\n'))) *p = '\0'; non_session_aware_clients[i] = (char *) malloc ( strlen (buf) + 2); @@ -260,11 +255,7 @@ char **sm_id; static void -SaveClient (f, client) - -FILE *f; -ClientRec *client; - +SaveClient(FILE *f, ClientRec *client) { List *pl; @@ -297,7 +288,7 @@ ClientRec *client; for (pj = ListFirst (pprop->values); pj; pj = ListNext (pj)) { pval = (PropValue *) pj->thing; - fprintf (f, "\t%s\n", pval->value); + fprintf (f, "\t%s\n", (char *)pval->value); } } } @@ -308,10 +299,7 @@ ClientRec *client; void -WriteSave (sm_id) - -char *sm_id; - +WriteSave(char *sm_id) { ClientRec *client; FILE *f; @@ -419,10 +407,7 @@ char *sm_id; Status -DeleteSession (session_name) - -char *session_name; - +DeleteSession(char *session_name) { char *buf; int buflen; @@ -452,7 +437,7 @@ char *session_name; buflen = 0; /* Read version # */ - getline(&buf, &buflen, f); + getnextline(&buf, &buflen, f); if((p = strchr(buf, '\n'))) *p = '\0'; version_number = atoi (buf); if (version_number > SAVEFILE_VERSION) @@ -465,15 +450,15 @@ char *session_name; } /* Skip SM's id */ - getline(&buf, &buflen, f); + getnextline(&buf, &buflen, f); /* Skip number of clients running in the last session */ if (version_number >= 2) - getline(&buf, &buflen, f); + getnextline(&buf, &buflen, f); state = 0; foundDiscard = 0; - while(getline(&buf, &buflen, f)) { + while(getnextline(&buf, &buflen, f)) { if((p = strchr(buf, '\n'))) *p = '\0'; for(p = buf; *p && isspace(*p); p++) /* LOOP */; if(*p == '#') continue; @@ -531,10 +516,7 @@ char *session_name; Bool -getline(pbuf, plen, f) -char **pbuf; -int *plen; -FILE *f; +getnextline(char **pbuf, int *plen, FILE *f) { int c; int i; @@ -23,7 +23,17 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/saveutil.h,v 1.7 2001/12/14 20:02:27 dawes Exp $ */ -extern int ReadSave (); -extern void WriteSave (); -extern Status DeleteSession (); +#ifndef _SAVEUTIL_H_ +#define _SAVEUTIL_H_ + +#include <stdio.h> + +extern void set_session_save_file_name(char *session_name); +extern int ReadSave(char *session_name, char **sm_id); +extern void WriteSave(char *sm_id); +extern Status DeleteSession(char *session_name); +extern Bool getnextline(char **pbuf, int *plen, FILE *f); + +#endif @@ -23,12 +23,19 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/signals.c,v 3.6 2001/12/14 20:02:27 dawes Exp $ */ + +#include <stdlib.h> #include <X11/Xos.h> #include <X11/Xfuncs.h> +#include <X11/Intrinsic.h> #include <X11/SM/SMlib.h> +#include "save.h" + +#include <errno.h> #ifdef USG #ifndef __TYPES__ #include <sys/types.h> /* forgot to protect it... */ @@ -56,10 +63,16 @@ in this Software without prior written authorization from The Open Group. #else #define _POSIX_SOURCE #include <signal.h> +#ifdef SCO325 +#include <sys/procset.h> +#include <sys/siginfo.h> +#endif #include <sys/wait.h> #undef _POSIX_SOURCE #endif #endif +#include "list.h" +#include "save.h" #if defined(X_NOT_POSIX) && defined(SIGNALRETURNSINT) #define SIGVAL int @@ -83,12 +96,11 @@ in this Software without prior written authorization from The Open Group. #define SIGNALS_RESET_WHEN_CAUGHT #endif -#ifndef NULL -#define NULL 0 -#endif +#include <stddef.h> int checkpoint_from_signal = 0; +extern XtSignalId sig_term_id, sig_usr1_id; extern Bool wantShutdown; @@ -110,10 +122,10 @@ SIGVAL (*Signal (sig, handler))() void -sig_child_handler () +sig_child_handler (XtPointer closure, XtSignalId id) { - int pid; + int pid, olderrno = errno; #if !defined(USE_POSIX_WAIT) && (defined(USE_SYSV_SIGNALS) && \ (defined(CRAY) || !defined(SIGTSTP))) @@ -147,11 +159,18 @@ sig_child_handler () #endif /* USE_POSIX_WAIT else */ } while (pid > 0); + errno = olderrno; } +void +sig_term_handler(int sig) +{ + XtNoticeSignal(sig_term_id); +} + void -sig_term_handler () +xt_sig_term_handler (XtPointer closure, XtSignalId *id) { wantShutdown = 1; @@ -159,9 +178,13 @@ sig_term_handler () DoSave (SmSaveLocal, SmInteractStyleNone, 1 /* fast */); } +void sig_usr1_handler(int sig) +{ + XtNoticeSignal(sig_usr1_id); +} void -sig_usr1_handler () +xt_sig_usr1_handler (XtPointer closure, XtSignalId *id) { wantShutdown = 0; @@ -172,7 +195,7 @@ sig_usr1_handler () void -register_signals () +register_signals (XtAppContext appContext) { /* @@ -194,6 +217,7 @@ register_signals () */ Signal (SIGTERM, sig_term_handler); + sig_term_id = XtAppAddSignal(appContext, xt_sig_term_handler, NULL); /* @@ -201,6 +225,7 @@ register_signals () */ Signal (SIGUSR1, sig_usr1_handler); + sig_usr1_id = XtAppAddSignal(appContext, xt_sig_usr1_handler, NULL); } @@ -23,6 +23,7 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/xsm.c,v 1.9 2001/12/14 20:02:27 dawes Exp $ */ /* * X Session Manager. @@ -48,6 +49,7 @@ in this Software without prior written authorization from The Open Group. #include <X11/Shell.h> #include <X11/Xatom.h> +#include <X11/Xaw/List.h> Atom wmStateAtom; Atom wmDeleteAtom; @@ -56,11 +58,34 @@ static char *cmd_line_display = NULL; /* * Forward declarations */ - -Status StartSession (); -void NewConnectionXtProc (); -Status NewClientProc (); -void InstallIOErrorHandler (); +static void PropertyChangeXtHandler(Widget w, XtPointer closure, + XEvent *event, + Boolean *continue_to_dispatch); +static void GetEnvironment(void); +static Status RegisterClientProc(SmsConn smsConn, SmPointer managerData, + char *previousId); +static Bool OkToEnterInteractPhase(void); +static void InteractRequestProc(SmsConn smsConn, SmPointer managerData, + int dialogType); +static void InteractDoneProc(SmsConn smsConn, SmPointer managerData, + Bool cancelShutdown); +static void SaveYourselfReqProc(SmsConn smsConn, SmPointer managerData, + int saveType, Bool shutdown, + int interactStyle, Bool fast, Bool global); +static Bool OkToEnterPhase2(void); +static void SaveYourselfPhase2ReqProc(SmsConn smsConn, SmPointer managerData); +static void SaveYourselfDoneProc(SmsConn smsConn, SmPointer managerData, + Bool success); +static void CloseConnectionProc(SmsConn smsConn, SmPointer managerData, + int count, char **reasonMsgs); +static Status NewClientProc(SmsConn smsConn, SmPointer managerData, + unsigned long *maskRet, + SmsCallbacks *callbacksRet, + char **failureReasonRet); +static void NewConnectionXtProc(XtPointer client_data, int *source, + XtInputId *id); +static void MyIoErrorHandler(IceConn ice_conn); +static void InstallIOErrorHandler(void); static void CloseListeners(void); /* @@ -75,6 +100,7 @@ extern Widget checkPointButton; extern Widget shutdownButton; extern Widget clientListWidget; extern Widget savePopup; +extern XtSignalId sig_term_id, sig_usr1_id; extern int checkpoint_from_signal; @@ -84,12 +110,8 @@ static IceListenObj *listenObjs; /* * Main program */ - -main (argc, argv) - -int argc; -char **argv; - +int +main(int argc, char *argv[]) { char *p; char errormsg[256]; @@ -138,7 +160,7 @@ char **argv; wmDeleteAtom = XInternAtom ( XtDisplay (topLevel), "WM_DELETE_WINDOW", False); - register_signals (); + register_signals (appContext); /* @@ -235,6 +257,9 @@ char **argv; WaitForSaveDoneList = ListInit(); if (!WaitForSaveDoneList) nomem(); + InitialSaveList = ListInit(); + if (!InitialSaveList) nomem(); + FailedSaveList = ListInit(); if (!FailedSaveList) nomem(); @@ -296,18 +321,14 @@ char **argv; */ XtAppMainLoop (appContext); + exit(0); } -void -PropertyChangeXtHandler (w, closure, event, continue_to_dispatch) - -Widget w; -XtPointer closure; -XEvent *event; -Boolean *continue_to_dispatch; - +static void +PropertyChangeXtHandler(Widget w, XtPointer closure, XEvent *event, + Boolean *continue_to_dispatch) { if (w == topLevel && event->type == PropertyNotify && event->xproperty.atom == wmStateAtom) @@ -334,11 +355,7 @@ Boolean *continue_to_dispatch; void -SetWM_DELETE_WINDOW (widget, delAction) - -Widget widget; -String delAction; - +SetWM_DELETE_WINDOW(Widget widget, String delAction) { char translation[64]; @@ -351,9 +368,8 @@ String delAction; -void -GetEnvironment () - +static void +GetEnvironment(void) { static char envDISPLAY[]="DISPLAY"; static char envSESSION_MANAGER[]="SESSION_MANAGER"; @@ -452,11 +468,7 @@ GetEnvironment () Status -StartSession (name, use_default) - -char *name; -Bool use_default; - +StartSession(char *name, Bool use_default) { int database_read = 0; Dimension width; @@ -597,10 +609,8 @@ Bool use_default; -EndSession (status) - -int status; - +void +EndSession(int status) { if (verbose) printf ("\nSESSION MANAGER GOING AWAY!\n"); @@ -634,11 +644,7 @@ int status; void -FreeClient (client, freeProps) - -ClientRec *client; -Bool freeProps; - +FreeClient(ClientRec *client, Bool freeProps) { if (freeProps) { @@ -669,13 +675,8 @@ Bool freeProps; * Session Manager callbacks */ -Status -RegisterClientProc (smsConn, managerData, previousId) - -SmsConn smsConn; -SmPointer managerData; -char *previousId; - +static Status +RegisterClientProc(SmsConn smsConn, SmPointer managerData, char *previousId) { ClientRec *client = (ClientRec *) managerData; char *id; @@ -788,6 +789,8 @@ char *previousId; { SmsSaveYourself (smsConn, SmSaveLocal, False, SmInteractStyleNone, False); + + ListAddLast (InitialSaveList, (char *) client); } else if (client_info_visible) { @@ -803,8 +806,7 @@ char *previousId; static Bool -OkToEnterInteractPhase () - +OkToEnterInteractPhase(void) { return ((ListCount (WaitForInteractList) + ListCount (WaitForPhase2List)) == ListCount (WaitForSaveDoneList)); @@ -812,13 +814,8 @@ OkToEnterInteractPhase () -void -InteractRequestProc (smsConn, managerData, dialogType) - -SmsConn smsConn; -SmPointer managerData; -int dialogType; - +static void +InteractRequestProc(SmsConn smsConn, SmPointer managerData, int dialogType) { ClientRec *client = (ClientRec *) managerData; @@ -844,12 +841,8 @@ int dialogType; -void -InteractDoneProc (smsConn, managerData, cancelShutdown) - SmsConn smsConn; - SmPointer managerData; - Bool cancelShutdown; - +static void +InteractDoneProc(SmsConn smsConn, SmPointer managerData, Bool cancelShutdown) { ClientRec *client = (ClientRec *) managerData; List *cl; @@ -915,18 +908,9 @@ InteractDoneProc (smsConn, managerData, cancelShutdown) -void -SaveYourselfReqProc (smsConn, managerData, saveType, - shutdown, interactStyle, fast, global) - -SmsConn smsConn; -SmPointer managerData; -int saveType; -Bool shutdown; -int interactStyle; -Bool fast; -Bool global; - +static void +SaveYourselfReqProc(SmsConn smsConn, SmPointer managerData, int saveType, + Bool shutdown, int interactStyle, Bool fast, Bool global) { if (verbose) printf("SAVE YOURSELF REQUEST not supported!\n"); @@ -935,7 +919,7 @@ Bool global; static Bool -OkToEnterPhase2 () +OkToEnterPhase2(void) { return (ListCount (WaitForPhase2List) == ListCount (WaitForSaveDoneList)); @@ -943,12 +927,8 @@ OkToEnterPhase2 () -void -SaveYourselfPhase2ReqProc (smsConn, managerData) - -SmsConn smsConn; -SmPointer managerData; - +static void +SaveYourselfPhase2ReqProc(SmsConn smsConn, SmPointer managerData) { ClientRec *client = (ClientRec *) managerData; @@ -985,12 +965,8 @@ SmPointer managerData; -void -SaveYourselfDoneProc (smsConn, managerData, success) - SmsConn smsConn; - SmPointer managerData; - Bool success; - +static void +SaveYourselfDoneProc(SmsConn smsConn, SmPointer managerData, Bool success) { ClientRec *client = (ClientRec *) managerData; @@ -1001,7 +977,11 @@ SaveYourselfDoneProc (smsConn, managerData, success) } if (!ListSearchAndFreeOne (WaitForSaveDoneList, (char *) client)) + { + if (ListSearchAndFreeOne (InitialSaveList, (char *) client)) + SmsSaveComplete (client->smsConn); return; + } if (!success) { @@ -1028,12 +1008,9 @@ SaveYourselfDoneProc (smsConn, managerData, success) void -CloseDownClient (client) - -ClientRec *client; - +CloseDownClient(ClientRec *client) { - int index_deleted; + int index_deleted = 0; if (verbose) { printf ("ICE Connection closed, IceConn fd = %d\n", @@ -1144,13 +1121,9 @@ ClientRec *client; -void -CloseConnectionProc (smsConn, managerData, count, reasonMsgs) - SmsConn smsConn; - SmPointer managerData; - int count; - char **reasonMsgs; - +static void +CloseConnectionProc(SmsConn smsConn, SmPointer managerData, + int count, char **reasonMsgs) { ClientRec *client = (ClientRec *) managerData; @@ -1173,15 +1146,9 @@ CloseConnectionProc (smsConn, managerData, count, reasonMsgs) -Status -NewClientProc (smsConn, managerData, maskRet, callbacksRet, failureReasonRet) - -SmsConn smsConn; -SmPointer managerData; -unsigned long *maskRet; -SmsCallbacks *callbacksRet; -char **failureReasonRet; - +static Status +NewClientProc(SmsConn smsConn, SmPointer managerData, unsigned long *maskRet, + SmsCallbacks *callbacksRet, char **failureReasonRet) { ClientRec *newClient = (ClientRec *) XtMalloc (sizeof (ClientRec)); @@ -1272,13 +1239,8 @@ char **failureReasonRet; * Xt callback invoked when a client attempts to connect. */ -void -NewConnectionXtProc (client_data, source, id) - -XtPointer client_data; -int *source; -XtInputId *id; - +static void +NewConnectionXtProc(XtPointer client_data, int *source, XtInputId *id) { IceConn ice_conn; char *connstr; @@ -1330,10 +1292,8 @@ XtInputId *id; -SetAllSensitive (on) - -Bool on; - +void +SetAllSensitive(Bool on) { XtSetSensitive (mainWindow, on); SetSaveSensitivity (on); @@ -1366,18 +1326,15 @@ Bool on; static IceIOErrorHandler prev_handler; -void -MyIoErrorHandler (ice_conn) - -IceConn ice_conn; - +static void +MyIoErrorHandler(IceConn ice_conn) { if (prev_handler) (*prev_handler) (ice_conn); } -void -InstallIOErrorHandler () +static void +InstallIOErrorHandler(void) { IceIOErrorHandler default_handler; @@ -23,6 +23,10 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/xsm.h,v 1.8 2001/12/14 20:02:27 dawes Exp $ */ + +#ifndef _XSM_H_ +#define _XSM_H_ #include <X11/Xos.h> #include <X11/Xfuncs.h> @@ -56,9 +60,7 @@ in this Software without prior written authorization from The Open Group. #endif #include <ctype.h> -#ifndef X_NOT_STDC_ENV #include <stdlib.h> -#endif #include <X11/StringDefs.h> #include <X11/Intrinsic.h> @@ -171,13 +173,20 @@ extern XtAppContext appContext; extern Widget topLevel; extern Widget mainWindow; -extern void fprintfhex (); +extern void fprintfhex(FILE *fp, unsigned int len, char *cp); +extern Status StartSession(char *name, Bool use_default); +extern void EndSession(int status); +extern void SetWM_DELETE_WINDOW(Widget widget, String delAction); +extern void SetAllSensitive(Bool on); +extern void FreeClient(ClientRec *client, Bool freeProps); +extern void CloseDownClient(ClientRec *client); + +/* misc.c */ +extern int strbw(char *a, char *b); +extern void nomem(void); + -#ifndef X_NOT_STDC_ENV #define Strstr strstr -#else -extern char *Strstr(); -#endif /* Fix ISC brain damage. When using gcc fdopen isn't declared in <stdio.h>. */ #if defined(ISC) && __STDC__ @@ -189,6 +198,21 @@ extern int System(); #define system(s) System(s) #endif +/* remote.c */ +extern void remote_start(char *restart_protocol, char *restart_machine, + char *program, char **args, char *cwd, char **env, + char *non_local_display_env, + char *non_local_session_env ); + +/* signals.c */ +extern void sig_child_handler(void); +extern void sig_term_handler(void); +extern void sig_usr1_handler(void); +extern void register_signals(XtAppContext); +extern int execute_system_command(char *s); + #ifdef XKB #include <X11/extensions/XKBbells.h> #endif + +#endif /* _XSM_H_ */ @@ -22,7 +22,10 @@ .\" 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. -.TH XSM 1 "Release 6.4" "X Version 11" +.\" +.\" $XFree86: xc/programs/xsm/xsm.man,v 1.7 2001/12/14 20:02:28 dawes Exp $ +.\" +.TH XSM 1 __xorgversion__ .SH NAME xsm \- X Session Manager .SH SYNOPSIS @@ -23,40 +23,34 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/xtwatch.c,v 1.5 2001/12/14 20:02:28 dawes Exp $ */ #include <X11/ICE/ICElib.h> #include <X11/Intrinsic.h> #include "xsm.h" +#include "xtwatch.h" -extern void CloseDownClient (); - +static void _XtIceWatchProc(IceConn ice_conn, IcePointer client_data, + Bool opening, IcePointer *watch_data ); +static void _XtProcessIceMsgProc(XtPointer client_data, int *source, + XtInputId *id); Status -InitWatchProcs (appContext) - -XtAppContext appContext; - +InitWatchProcs(XtAppContext appContext) { - void _XtIceWatchProc (); return (IceAddConnectionWatch (_XtIceWatchProc, (IcePointer) appContext)); } -void -_XtIceWatchProc (ice_conn, client_data, opening, watch_data) - -IceConn ice_conn; -IcePointer client_data; -Bool opening; -IcePointer *watch_data; - +static void +_XtIceWatchProc(IceConn ice_conn, IcePointer client_data, Bool opening, + IcePointer *watch_data) { if (opening) { XtAppContext appContext = (XtAppContext) client_data; - void _XtProcessIceMsgProc (); *watch_data = (IcePointer) XtAppAddInput ( appContext, @@ -72,13 +66,8 @@ IcePointer *watch_data; } -void -_XtProcessIceMsgProc (client_data, source, id) - -XtPointer client_data; -int *source; -XtInputId *id; - +static void +_XtProcessIceMsgProc(XtPointer client_data, int *source, XtInputId *id) { IceConn ice_conn = (IceConn) client_data; IceProcessMessagesStatus status; @@ -23,5 +23,13 @@ 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. ******************************************************************************/ +/* $XFree86: xc/programs/xsm/xtwatch.h,v 1.6 2001/12/14 20:02:28 dawes Exp $ */ -extern Status InitWatchProcs (); +#ifndef _XTWATCH_H_ +#define _XTWATCH_H_ + +#include <X11/Intrinsic.h> + +extern Status InitWatchProcs(XtAppContext appContext); + +#endif |