source: trunk/include/win/dde_proc.h@ 4

Last change on this file since 4 was 4, checked in by ktk, 26 years ago

Import

File size: 2.3 KB
Line 
1/* $Id: dde_proc.h,v 1.1 1999-05-24 20:19:10 ktk Exp $ */
2
3/***************************************************************************
4 * Copyright 1995, Technion, Israel Institute of Technology
5 * Electrical Eng, Software Lab.
6 * Author: Michael Veksler.
7 ***************************************************************************
8 * File: dde_proc.h
9 * Purpose : DDE signals and processes functionality for DDE
10 ***************************************************************************
11 */
12#ifndef __WINE_DDE_PROC_H
13#define __WINE_DDE_PROC_H
14
15#ifdef CONFIG_IPC
16
17#include <setjmp.h>
18#include "windef.h"
19#include "windows.h"
20#define DDE_PROCS 64
21#define DDE_WINDOWS 64
22struct _dde_proc {
23 int msg; /* message queue for this process */
24 int shmid; /* first shared memory block id. */
25 int sem; /* semaphore for fragment allocation */
26 int pid;
27} ;
28typedef struct _dde_proc *dde_proc;
29
30extern sigjmp_buf env_wait_x;
31enum stop_wait_op { /* The action to be taken upon SIGUSR2 */
32 CONT, /* Don't do anything */
33 STOP_WAIT_ACK, /* Use siglongjmp to stop wait_ack() */
34 STOP_WAIT_X /* siglongjmp to stop MSG_WaitXEvent() */
35};
36
37typedef struct {
38 WORD proc_idx; /* index into wine's process table */
39 HWND16 wnd; /* Window on the local proccess */
40} WND_DATA;
41extern enum stop_wait_op stop_wait_op;
42extern int had_SIGUSR2;
43
44extern int curr_proc_idx;
45void stop_wait(int a); /* signal handler for SIGUSR2
46 (interrupts "select" system call) */
47void dde_proc_init(dde_proc proc); /* init proc array */
48void dde_proc_done(dde_proc proc); /* delete a proc entry */
49void dde_proc_refresh(dde_proc proc); /* delete entry, if old junk */
50void dde_proc_add(dde_proc proc); /* Add current proc to proc array */
51void dde_msg_setup(int *msg_ptr);
52int dde_reschedule();
53void dde_wnd_setup(); /* setup Data structure of DDE windows */
54
55/* Send ack. to hnd indicating that posted/sent msg. got to destination*/
56void dde_proc_send_ack(HWND16 wnd, BOOL val);
57BOOL DDE_PostMessage( MSG16 *msg);
58BOOL DDE_SendMessage( MSG16 *msg);
59int DDE_GetRemoteMessage();
60void DDE_DestroyWindow(HWND16 hwnd); /* delete DDE info regarding hwnd */
61void DDE_TestDDE(HWND16 hwnd); /* do we have dde handling in the window ?*/
62
63#endif /* CONFIG_IPC */
64
65#endif /* __WINE_DDE_PROC_H */
Note: See TracBrowser for help on using the repository browser.