aboutsummaryrefslogtreecommitdiff
path: root/Linux_C_12/cCrossCall_121.c
diff options
context:
space:
mode:
Diffstat (limited to 'Linux_C_12/cCrossCall_121.c')
-rw-r--r--Linux_C_12/cCrossCall_121.c702
1 files changed, 351 insertions, 351 deletions
diff --git a/Linux_C_12/cCrossCall_121.c b/Linux_C_12/cCrossCall_121.c
index 56b74e4..7028348 100644
--- a/Linux_C_12/cCrossCall_121.c
+++ b/Linux_C_12/cCrossCall_121.c
@@ -1,26 +1,26 @@
/********************************************************************************************
- Clean OS Windows library module version 1.2.1.
- This module is part of the Clean Object I/O library, version 1.2.1,
- for the Windows platform.
+ Clean OS Windows library module version 1.2.1.
+ This module is part of the Clean Object I/O library, version 1.2.1,
+ for the Windows platform.
********************************************************************************************/
/********************************************************************************************
- About this module:
- cCrossCall_121 defines the infrastructure required by the Object I/O library to call
- system procedures that interact with the Windows callback mechanism.
+ About this module:
+ cCrossCall_121 defines the infrastructure required by the Object I/O library to call
+ system procedures that interact with the Windows callback mechanism.
- The basic principle in cCrossCall_121 is to have a minimal cross call kernel. If Clean
- code requires extension of the functionality of the OS thread, then this functionality
- must be registered before being applicable.
+ The basic principle in cCrossCall_121 is to have a minimal cross call kernel. If Clean
+ code requires extension of the functionality of the OS thread, then this functionality
+ must be registered before being applicable.
- In this version the request codes are still statically fixed and are assumed to be
- globally available both in the OS thread and the Clean thread. In a future version this
- will probably be replaced by a dynamic allocation of cross call request codes.
+ In this version the request codes are still statically fixed and are assumed to be
+ globally available both in the OS thread and the Clean thread. In a future version this
+ will probably be replaced by a dynamic allocation of cross call request codes.
********************************************************************************************/
/********************************************************************************************
- Include section.
+ Include section.
********************************************************************************************/
#include "cCrossCall_121.h"
@@ -40,14 +40,14 @@ int global_argc = 0;
#define _MAX_PATH 255
/**********************************************************************************************
- External global data section.
+ External global data section.
**********************************************************************************************/
CrossCallInfo gCci; /* The global cross call information struct. */
GtkTooltips *gTooltip = NULL; /* The tooltip control. */
CrossCallProcedureTable gCrossCallProcedureTable;
/**********************************************************************************************
- Internal global data section.
+ Internal global data section.
**********************************************************************************************/
static pthread_mutex_t gCleanMutex;
@@ -63,213 +63,213 @@ static CrossCallInfo *MakeQuitCci (CrossCallInfo * pcci);
*/
int GetModifiers (void)
{
- int mods = 0;
- GdkModifierType state;
+ int mods = 0;
+ GdkModifierType state;
/*printf("GetModifiers\n");*/
- gdk_event_get_state(gtk_get_current_event(), &state);
+ gdk_event_get_state(gtk_get_current_event(), &state);
- if (state & GDK_SHIFT_MASK) {
- mods |= SHIFTBIT;
+ if (state & GDK_SHIFT_MASK) {
+ mods |= SHIFTBIT;
}
- if (state & GDK_CONTROL_MASK) {
- mods |= CTRLBIT;
+ if (state & GDK_CONTROL_MASK) {
+ mods |= CTRLBIT;
}
- if (state & GDK_MOD1_MASK) {
- mods |= ALTBIT;
+ if (state & GDK_MOD1_MASK) {
+ mods |= ALTBIT;
}
- return mods;
+ return mods;
}
/* Translate virtual key codes to the codes shared with Clean.
- This procedure has been filtered from TranslateKeyboardMessage.
- If the keycode could not be translated, zero is returned.
+ This procedure has been filtered from TranslateKeyboardMessage.
+ If the keycode could not be translated, zero is returned.
*/
int CheckVirtualKeyCode (int keycode)
{
- int c = 0;
+ int c = 0;
/* printf("CheckVirtualKeyCode\n");*/
- switch (keycode)
- {
- case GDK_Up:
- c = WinUpKey;
- break;
- case GDK_Down:
- c = WinDownKey;
- break;
- case GDK_Left:
- c = WinLeftKey;
- break;
- case GDK_Right:
- c = WinRightKey;
- break;
- case GDK_Page_Up:
- c = WinPgUpKey;
- break;
- case GDK_Page_Down:
- c = WinPgDownKey;
- break;
- case GDK_End:
- c = WinEndKey;
- break;
- case GDK_Begin:
- c = WinBeginKey;
- break;
- case GDK_BackSpace:
- c = WinBackSpKey;
- break;
- case GDK_Delete:
- c = WinDelKey;
- break;
- case GDK_Tab:
- c = WinTabKey;
- break;
- case GDK_Return:
- c = WinReturnKey;
- break;
- case GDK_Escape:
- c = WinEscapeKey;
- break;
- case GDK_Help:
- c = WinHelpKey;
- break;
- case GDK_F1:
- c = WinF1Key;
- break;
- case GDK_F2:
- c = WinF2Key;
- break;
- case GDK_F3:
- c = WinF3Key;
- break;
- case GDK_F4:
- c = WinF4Key;
- break;
- case GDK_F5:
- c = WinF5Key;
- break;
- case GDK_F6:
- c = WinF6Key;
- break;
- case GDK_F7:
- c = WinF7Key;
- break;
- case GDK_F8:
- c = WinF8Key;
- break;
- case GDK_F9:
- c = WinF9Key;
- break;
- case GDK_F10:
- c = WinF10Key;
- break;
- case GDK_F11:
- c = WinF11Key;
- break;
- case GDK_F12:
- c = WinF12Key;
- break;
- }
- return c;
+ switch (keycode)
+ {
+ case GDK_Up:
+ c = WinUpKey;
+ break;
+ case GDK_Down:
+ c = WinDownKey;
+ break;
+ case GDK_Left:
+ c = WinLeftKey;
+ break;
+ case GDK_Right:
+ c = WinRightKey;
+ break;
+ case GDK_Page_Up:
+ c = WinPgUpKey;
+ break;
+ case GDK_Page_Down:
+ c = WinPgDownKey;
+ break;
+ case GDK_End:
+ c = WinEndKey;
+ break;
+ case GDK_Begin:
+ c = WinBeginKey;
+ break;
+ case GDK_BackSpace:
+ c = WinBackSpKey;
+ break;
+ case GDK_Delete:
+ c = WinDelKey;
+ break;
+ case GDK_Tab:
+ c = WinTabKey;
+ break;
+ case GDK_Return:
+ c = WinReturnKey;
+ break;
+ case GDK_Escape:
+ c = WinEscapeKey;
+ break;
+ case GDK_Help:
+ c = WinHelpKey;
+ break;
+ case GDK_F1:
+ c = WinF1Key;
+ break;
+ case GDK_F2:
+ c = WinF2Key;
+ break;
+ case GDK_F3:
+ c = WinF3Key;
+ break;
+ case GDK_F4:
+ c = WinF4Key;
+ break;
+ case GDK_F5:
+ c = WinF5Key;
+ break;
+ case GDK_F6:
+ c = WinF6Key;
+ break;
+ case GDK_F7:
+ c = WinF7Key;
+ break;
+ case GDK_F8:
+ c = WinF8Key;
+ break;
+ case GDK_F9:
+ c = WinF9Key;
+ break;
+ case GDK_F10:
+ c = WinF10Key;
+ break;
+ case GDK_F11:
+ c = WinF11Key;
+ break;
+ case GDK_F12:
+ c = WinF12Key;
+ break;
+ }
+ return c;
}
static gboolean TimerCallback (gpointer data)
{
/*printf("TimerCallback\n");*/
- SendMessage0ToClean (CcWmIDLETIMER);
+ SendMessage0ToClean (CcWmIDLETIMER);
return TRUE;
}
void HandleCleanRequest (CrossCallInfo * pcci)
{
/*printf("HandleCleanRequest: Message = %d\n", pcci->mess);*/
- switch (pcci->mess)
- {
- case CcRqDOMESSAGE: /* idleTimerOn, sleeptime; no result. */
- {
- gboolean gIdleTimerOn = (gboolean) pcci->p1;
- gint interval = (gint) pcci->p2;
+ switch (pcci->mess)
+ {
+ case CcRqDOMESSAGE: /* idleTimerOn, sleeptime; no result. */
+ {
+ gboolean gIdleTimerOn = (gboolean) pcci->p1;
+ gint interval = (gint) pcci->p2;
/*printf("CcRqDOMESSAGE\n");*/
- if (gIdleTimerOn)
- {
- GSource *source = g_timeout_source_new(interval);
- g_source_set_callback(source,TimerCallback,NULL,NULL);
- g_source_attach(source,NULL);
-
- gtk_main_iteration();
-
- g_source_destroy(source);
- }
- else
- {
- gtk_main_iteration();
- }
-
- MakeReturn0Cci (pcci);
- }
- break;
- default:
- {
- CrossCallProcedure action;
-
- action = FindCrossCallEntry (gCrossCallProcedureTable, pcci->mess);
+ if (gIdleTimerOn)
+ {
+ GSource *source = g_timeout_source_new(interval);
+ g_source_set_callback(source,TimerCallback,NULL,NULL);
+ g_source_attach(source,NULL);
+
+ gtk_main_iteration();
+
+ g_source_destroy(source);
+ }
+ else
+ {
+ gtk_main_iteration();
+ }
+
+ MakeReturn0Cci (pcci);
+ }
+ break;
+ default:
+ {
+ CrossCallProcedure action;
+
+ action = FindCrossCallEntry (gCrossCallProcedureTable, pcci->mess);
/*printf("Handle Request for action logged for: %d\n", pcci->mess);*/
- if (action == NULL)
- { /* Cross call request code not installed. */
- /*printf("\'HandleCleanRequest\' got uninstalled CcRq request code from Haskell: %d\n", pcci->mess);*/
- exit(1);
- }
- else
- { /* Cross call request code found. Apply it to pcci. */
+ if (action == NULL)
+ { /* Cross call request code not installed. */
+ /*printf("\'HandleCleanRequest\' got uninstalled CcRq request code from Haskell: %d\n", pcci->mess);*/
+ exit(1);
+ }
+ else
+ { /* Cross call request code found. Apply it to pcci. */
/*printf("Action Requested: %d\n", pcci->mess);*/
- action (pcci);
- }
- }
- }
- KickCleanThread (pcci);
+ action (pcci);
+ }
+ }
+ }
+ KickCleanThread (pcci);
} /* HandleCleanRequest */
void InitGTK()
{
- static gboolean gInitiated = FALSE;
+ static gboolean gInitiated = FALSE;
/*printf("InitGTK\n"); */
- if (!gInitiated)
- {
- gtk_set_locale();
- gtk_init(&global_argc,&global_argv);
- gInitiated = TRUE;
- };
+ if (!gInitiated)
+ {
+ gtk_set_locale();
+ gtk_init(&global_argc,&global_argv);
+ gInitiated = TRUE;
+ };
} /* InitGTK */
static gpointer OsThreadFunction (gpointer param);
OS WinStartOsThread(OS os)
{
- pthread_attr_t attr;
+ pthread_attr_t attr;
/* rprintf ("WinStartOSThread\n"); */
- InitGTK();
+ InitGTK();
- /* The cross call procedure table is set to the empty table. */
- gCrossCallProcedureTable = EmptyCrossCallProcedureTable ();
+ /* The cross call procedure table is set to the empty table. */
+ gCrossCallProcedureTable = EmptyCrossCallProcedureTable ();
/* rprintf ("Created CC Table\n"); */
- pthread_mutex_init(&gCleanMutex,NULL);
- pthread_mutex_lock(&gCleanMutex);
- pthread_mutex_init(&gOSMutex,NULL);
- pthread_mutex_lock(&gOSMutex);
- gOSThreadIsRunning = TRUE;
+ pthread_mutex_init(&gCleanMutex,NULL);
+ pthread_mutex_lock(&gCleanMutex);
+ pthread_mutex_init(&gOSMutex,NULL);
+ pthread_mutex_lock(&gOSMutex);
+ gOSThreadIsRunning = TRUE;
/* rprintf ("OS is running.\n"); */
- pthread_attr_init(&attr);
- pthread_create(&gOSThread,&attr,OsThreadFunction,NULL);
- pthread_attr_destroy(&attr);
+ pthread_attr_init(&attr);
+ pthread_create(&gOSThread,&attr,OsThreadFunction,NULL);
+ pthread_attr_destroy(&attr);
/* rprintf ("Exiting initializer.\n"); */
return os;
@@ -278,84 +278,84 @@ OS WinStartOsThread(OS os)
OS WinKillOsThread (OS os)
{
/* printf("WinKillOsThread\n"); */
- if (gOSThread != FALSE)
- {
- gOSThreadIsRunning = FALSE;
- gOSThread = FALSE;
+ if (gOSThread != FALSE)
+ {
+ gOSThreadIsRunning = FALSE;
+ gOSThread = FALSE;
- DeleteCursors();
+ DeleteCursors();
- if (gCrossCallProcedureTable)
- FreeCrossCallProcedureTable (gCrossCallProcedureTable);
- }
+ if (gCrossCallProcedureTable)
+ FreeCrossCallProcedureTable (gCrossCallProcedureTable);
+ }
return os;
} /*WinKillOsThread*/
#define PRINTCROSSCALLS
void WinKickOsThread (int64_t imess,
- int64_t ip1, int64_t ip2, int64_t ip3,
- int64_t ip4, int64_t ip5, int64_t ip6,
+ int64_t ip1, int64_t ip2, int64_t ip3,
+ int64_t ip4, int64_t ip5, int64_t ip6,
OS ios,
- int64_t *omess,
- int64_t *op1, int64_t *op2, int64_t *op3,
- int64_t *op4, int64_t *op5, int64_t *op6,
+ int64_t *omess,
+ int64_t *op1, int64_t *op2, int64_t *op3,
+ int64_t *op4, int64_t *op5, int64_t *op6,
OS *oos
- )
+ )
{
- gCci.mess = imess;
- gCci.p1 = ip1;
- gCci.p2 = ip2;
- gCci.p3 = ip3;
- gCci.p4 = ip4;
- gCci.p5 = ip5;
- gCci.p6 = ip6;
+ gCci.mess = imess;
+ gCci.p1 = ip1;
+ gCci.p2 = ip2;
+ gCci.p3 = ip3;
+ gCci.p4 = ip4;
+ gCci.p5 = ip5;
+ gCci.p6 = ip6;
#ifdef PRINTCROSSCALLS
- rprintf("WinKickOsThread (");
- printCCI (&gCci);
- printf(" - data: %p, %p, %p, %p, %p, %p, %p\n",
- gCci.p1, gCci.p2, gCci.p3, gCci.p4,
- gCci.p5, gCci.p6, ios);
- rprintf(")\n");
+ rprintf("WinKickOsThread (");
+ printCCI (&gCci);
+ printf(" - data: %p, %p, %p, %p, %p, %p, %p\n",
+ gCci.p1, gCci.p2, gCci.p3, gCci.p4,
+ gCci.p5, gCci.p6, ios);
+ rprintf(")\n");
#endif
- if (gOSThread != FALSE)
- {
+ if (gOSThread != FALSE)
+ {
#ifdef PRINTCROSSCALLS
rprintf("Unlocking Clean mutex.\n");
#endif
- pthread_mutex_unlock(&gCleanMutex);
+ pthread_mutex_unlock(&gCleanMutex);
#ifdef PRINTCROSSCALLS
rprintf("Locking OS mutex.\n");
#endif
- pthread_mutex_lock(&gOSMutex);
+ pthread_mutex_lock(&gOSMutex);
#ifdef PRINTCROSSCALLS
rprintf("OS mutex locked.\n");
#endif
- *omess = gCci.mess;
- *op1 = gCci.p1;
- *op2 = gCci.p2;
- *op3 = gCci.p3;
- *op4 = gCci.p4;
- *op5 = gCci.p5;
- *op6 = gCci.p6;
+ *omess = gCci.mess;
+ *op1 = gCci.p1;
+ *op2 = gCci.p2;
+ *op3 = gCci.p3;
+ *op4 = gCci.p4;
+ *op5 = gCci.p5;
+ *op6 = gCci.p6;
*oos = ios;
printf("Data: %p, %p, %p, %p, %p, %p, %p\n",
gCci.p1, gCci.p2, gCci.p3, gCci.p4,
gCci.p5, gCci.p6, ios);
- }
- else
- {
- *omess = CcWASQUIT;
- *op1 = 0;
- *op2 = 0;
- *op3 = 0;
- *op4 = 0;
- *op5 = 0;
- *op6 = 0;
+ }
+ else
+ {
+ *omess = CcWASQUIT;
+ *op1 = 0;
+ *op2 = 0;
+ *op3 = 0;
+ *op4 = 0;
+ *op5 = 0;
+ *op6 = 0;
*oos = ios;
- }
+ }
} /* WinKickOsThread */
@@ -370,197 +370,197 @@ void KickCleanThread (CrossCallInfo * pcci)
{
/* rprintf("KickCleanThread\n"); */
#ifdef PRINTCROSSCALLS
- if (ossp == -1)
- {
- for (ossp = 0; ossp < 10; ossp++)
- {
- osstack[ossp].mess = -1;
- }
- ossp = 1;
- osstack[ossp].mess = -2;
- }
-
- if (clsp == -1)
- {
- for (clsp = 0; clsp < 10; clsp++)
- {
- clstack[clsp].mess = -1;
- }
- clsp = 1;
- clstack[clsp].mess = -2;
- }
+ if (ossp == -1)
+ {
+ for (ossp = 0; ossp < 10; ossp++)
+ {
+ osstack[ossp].mess = -1;
+ }
+ ossp = 1;
+ osstack[ossp].mess = -2;
+ }
+
+ if (clsp == -1)
+ {
+ for (clsp = 0; clsp < 10; clsp++)
+ {
+ clstack[clsp].mess = -1;
+ }
+ clsp = 1;
+ clstack[clsp].mess = -2;
+ }
#endif
- if (pcci != &gCci)
+ if (pcci != &gCci)
{
- gCci = *pcci;
+ gCci = *pcci;
}
#ifdef PRINTCROSSCALLS
- rprintf ("KCT: started\n");
- if (gCci.mess < 20)
- {
- rprintf (" -- %d --> OS returning <", clsp + ossp - 2);
- printCCI (&gCci);
- rprintf ("> from <");
- printCCI (&(clstack[clsp]));
- rprintf (">\n");
- clsp--;
- }
- else
- {
- ossp++;
- osstack[ossp] = gCci;
- rprintf (" -- %d --> OS calling with <", clsp + ossp - 2);
- printCCI (&gCci);
- rprintf (">\n");
- }
-
- rprintf ("KCT: setting event\n");
+ rprintf ("KCT: started\n");
+ if (gCci.mess < 20)
+ {
+ rprintf (" -- %d --> OS returning <", clsp + ossp - 2);
+ printCCI (&gCci);
+ rprintf ("> from <");
+ printCCI (&(clstack[clsp]));
+ rprintf (">\n");
+ clsp--;
+ }
+ else
+ {
+ ossp++;
+ osstack[ossp] = gCci;
+ rprintf (" -- %d --> OS calling with <", clsp + ossp - 2);
+ printCCI (&gCci);
+ rprintf (">\n");
+ }
+
+ rprintf ("KCT: setting event\n");
#endif
- pthread_mutex_unlock(&gOSMutex);
+ pthread_mutex_unlock(&gOSMutex);
#ifdef PRINTCROSSCALLS
- rprintf ("KCT: starting wait\n");
+ rprintf ("KCT: starting wait\n");
#endif
- pthread_mutex_lock(&gCleanMutex);
+ pthread_mutex_lock(&gCleanMutex);
#ifdef PRINTCROSSCALLS
- rprintf ("KCT: wait done.\n");
+ rprintf ("KCT: wait done.\n");
#endif
- if (pcci != &gCci)
- *pcci = gCci;
+ if (pcci != &gCci)
+ *pcci = gCci;
#ifdef PRINTCROSSCALLS
- if (gCci.mess < 20)
- {
- rprintf (" <-- %d -- Clean returning <", clsp + ossp - 2);
- printCCI (&gCci);
- rprintf ("> from <");
- printCCI (&(osstack[ossp]));
- rprintf (">\n");
- ossp--;
- }
- else
- {
- clsp++;
- clstack[clsp] = gCci;
- rprintf (" <-- %d -- Clean calling with <", clsp + ossp - 2);
- printCCI (&gCci);
- rprintf (">\n");
- }
+ if (gCci.mess < 20)
+ {
+ rprintf (" <-- %d -- Clean returning <", clsp + ossp - 2);
+ printCCI (&gCci);
+ rprintf ("> from <");
+ printCCI (&(osstack[ossp]));
+ rprintf (">\n");
+ ossp--;
+ }
+ else
+ {
+ clsp++;
+ clstack[clsp] = gCci;
+ rprintf (" <-- %d -- Clean calling with <", clsp + ossp - 2);
+ printCCI (&gCci);
+ rprintf (">\n");
+ }
#endif
} /* KickCleanThread */
void SendMessageToClean (int64_t mess, int64_t p1, int64_t p2, int64_t p3, int64_t p4, int64_t p5, int64_t p6)
{
/* printf("SendMessageToClean -- Message: %d\n", mess); */
- gCci.mess = mess;
- gCci.p1 = p1;
- gCci.p2 = p2;
- gCci.p3 = p3;
- gCci.p4 = p4;
- gCci.p5 = p5;
- gCci.p6 = p6;
-
- KickCleanThread (&gCci);
- while (!IsReturnCci (&gCci))
- {
- HandleCleanRequest (&gCci);
- }
+ gCci.mess = mess;
+ gCci.p1 = p1;
+ gCci.p2 = p2;
+ gCci.p3 = p3;
+ gCci.p4 = p4;
+ gCci.p5 = p5;
+ gCci.p6 = p6;
+
+ KickCleanThread (&gCci);
+ while (!IsReturnCci (&gCci))
+ {
+ HandleCleanRequest (&gCci);
+ }
}
CrossCallInfo *MakeReturn0Cci (CrossCallInfo * pcci)
{
- pcci->mess = CcRETURN0;
- return pcci;
+ pcci->mess = CcRETURN0;
+ return pcci;
}
CrossCallInfo *MakeReturn1Cci (CrossCallInfo * pcci, int64_t v1)
{
- pcci->mess = CcRETURN1;
- pcci->p1 = v1;
- return pcci;
+ pcci->mess = CcRETURN1;
+ pcci->p1 = v1;
+ return pcci;
}
CrossCallInfo *MakeReturn2Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2)
{
- pcci->mess = CcRETURN2;
- pcci->p1 = v1;
- pcci->p2 = v2;
- return pcci;
+ pcci->mess = CcRETURN2;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ return pcci;
}
CrossCallInfo *MakeReturn3Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2, int64_t v3)
{
- pcci->mess = CcRETURN3;
- pcci->p1 = v1;
- pcci->p2 = v2;
- pcci->p3 = v3;
- return pcci;
+ pcci->mess = CcRETURN3;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ pcci->p3 = v3;
+ return pcci;
}
CrossCallInfo *MakeReturn4Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2, int64_t v3, int64_t v4)
{
- pcci->mess = CcRETURN4;
- pcci->p1 = v1;
- pcci->p2 = v2;
- pcci->p3 = v3;
- pcci->p4 = v4;
- return pcci;
+ pcci->mess = CcRETURN4;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ pcci->p3 = v3;
+ pcci->p4 = v4;
+ return pcci;
}
CrossCallInfo *MakeReturn5Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2, int64_t v3, int64_t v4, int64_t v5)
{
- pcci->mess = CcRETURN5;
- pcci->p1 = v1;
- pcci->p2 = v2;
- pcci->p3 = v3;
- pcci->p4 = v4;
- pcci->p5 = v5;
- return pcci;
+ pcci->mess = CcRETURN5;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ pcci->p3 = v3;
+ pcci->p4 = v4;
+ pcci->p5 = v5;
+ return pcci;
}
CrossCallInfo *MakeReturn6Cci (CrossCallInfo * pcci, int64_t v1, int64_t v2, int64_t v3, int64_t v4, int64_t v5, int64_t v6)
{
- pcci->mess = CcRETURN6;
- pcci->p1 = v1;
- pcci->p2 = v2;
- pcci->p3 = v3;
- pcci->p4 = v4;
- pcci->p5 = v5;
- pcci->p6 = v6;
- return pcci;
+ pcci->mess = CcRETURN6;
+ pcci->p1 = v1;
+ pcci->p2 = v2;
+ pcci->p3 = v3;
+ pcci->p4 = v4;
+ pcci->p5 = v5;
+ pcci->p6 = v6;
+ return pcci;
}
gboolean IsReturnCci (CrossCallInfo * pcci)
{
/* printf("Checking message %d: ", pcci->mess);*/
- if (pcci->mess >= CcRETURNmin && pcci->mess <= CcRETURNmax)
+ if (pcci->mess >= CcRETURNmin && pcci->mess <= CcRETURNmax)
{
- return TRUE;
+ return TRUE;
}
- return FALSE;
+ return FALSE;
}
static gpointer OsThreadFunction (gpointer param)
{
/* printf("OsThreadFunction\n"); */
- gTooltip = gtk_tooltips_new();
+ gTooltip = gtk_tooltips_new();
- pthread_mutex_lock(&gCleanMutex);
+ pthread_mutex_lock(&gCleanMutex);
- while (gOSThreadIsRunning)
- {
- HandleCleanRequest (&gCci);
- }
+ while (gOSThreadIsRunning)
+ {
+ HandleCleanRequest (&gCci);
+ }
- pthread_mutex_unlock(&gCleanMutex);
+ pthread_mutex_unlock(&gCleanMutex);
- pthread_mutex_destroy(&gOSMutex);
- pthread_mutex_destroy(&gCleanMutex);
+ pthread_mutex_destroy(&gOSMutex);
+ pthread_mutex_destroy(&gCleanMutex);
- return NULL;
+ return NULL;
} /* OsThreadFunction */
void WinInitOs (Bool* ok, OS* os)
@@ -643,16 +643,16 @@ void WinLaunchApp2 (CLEAN_STRING commandline, CLEAN_STRING pathname,
pi = fork();
if (pi == 0)
{
- /* I'm a child -- launch the desired program. */
- execlp(exname, cl);
+ /* I'm a child -- launch the desired program. */
+ execlp(exname, cl);
} else if (pi == -1) {
- /* Error condition */
- error = errno;
+ /* Error condition */
+ error = errno;
rprintf ("WLA: failure %d\n", error);
- fsuccess = FALSE;
+ fsuccess = FALSE;
} else {
rprintf ("WLA: success\n");
- fsuccess = TRUE;
+ fsuccess = TRUE;
}
rprintf ("WLA: step 5: returning\n");