Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com From: "Ralf Habacker" To: "Cygwin-Apps" Cc: "Charles Wilson" Subject: Patch for cygipc for using with c++ code Date: Sun, 2 Sep 2001 13:31:58 +0200 Message-ID: <000701c133a2$e06b6e20$7d6707d5@BRAMSCHE> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0008_01C133B3.A3F43E20" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 This is a multi-part message in MIME format. ------=_NextPart_000_0008_01C133B3.A3F43E20 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi, I'm using cygipc V1.09-2 for kde, which is c++ code. Because the current cygipc is compiled with gcc, there are problems with name mangling. I have patched all global header files to solve this problem. The patch is appended. Ralf Habacker EMail: Ralf AT habacker DOT de Ralf DOT Habacker AT saght DOT tessag DOT com ------=_NextPart_000_0008_01C133B3.A3F43E20 Content-Type: application/octet-stream; name="cygipc_c++-patch.dif" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="cygipc_c++-patch.dif" diff -rubB cygipc/include/sys/ipc.h cygipc_new/include/sys/ipc.h=0A= --- cygipc/include/sys/ipc.h Fri Feb 16 23:08:37 2001=0A= +++ cygipc_new/include/sys/ipc.h Sat Sep 1 08:59:28 2001=0A= @@ -37,6 +37,10 @@=0A= =0A= #include =0A= =0A= +#ifdef __cplusplus=0A= +extern "C" {=0A= +#endif =0A= +=0A= #define IPC_PRIVATE ((key_t) 0) =0A= =0A= struct ipc_perm=0A= @@ -92,7 +96,14 @@=0A= #define SHMCTL 24=0A= =0A= #define IPCCALL(version,op) ((version)<<16 | (op))=0A= +=0A= +=0A= extern key_t ftok (const char *pathname, int proj_id);=0A= +=0A= +#ifdef __cplusplus=0A= +}=0A= +#endif =0A= +=0A= =0A= #endif /* _CYGWIN_IPC_H */=0A= =0A= Only in cygipc_new/include/sys: ipc.h~=0A= diff -rubB cygipc/include/sys/ipctrace.h = cygipc_new/include/sys/ipctrace.h=0A= --- cygipc/include/sys/ipctrace.h Sat Feb 10 23:50:02 2001=0A= +++ cygipc_new/include/sys/ipctrace.h Sat Sep 1 09:02:20 2001=0A= @@ -34,6 +34,10 @@=0A= #ifndef _IPCTRACE_H=0A= #define _IPCTRACE_H=0A= =0A= +#ifdef __cplusplus=0A= +extern "C" {=0A= +#endif =0A= +=0A= extern int cygipc_get_debug(void);=0A= extern void cygipc_set_debug(int new_val);=0A= extern int cygipc_tracing_enabled(void);=0A= @@ -48,6 +52,10 @@=0A= #else=0A= #define debug_printf(fmt, args...)=0A= #endif=0A= +=0A= +#ifdef __cplusplus=0A= +}=0A= +#endif =0A= =0A= #endif /*_IPCTRACE_H */ =0A= =0A= Only in cygipc_new/include/sys: ipctrace.h.bak=0A= diff -rubB cygipc/include/sys/msg.h cygipc_new/include/sys/msg.h=0A= --- cygipc/include/sys/msg.h Sun Jan 7 06:16:53 2001=0A= +++ cygipc_new/include/sys/msg.h Sat Sep 1 09:02:24 2001=0A= @@ -38,6 +38,10 @@=0A= #ifndef _CYGWIN_MSG_H=0A= #define _CYGWIN_MSG_H=0A= =0A= +#ifdef __cplusplus=0A= +extern "C" {=0A= +#endif =0A= +=0A= /* msgrcv options */=0A= #define MSG_NOERROR 010000 /* no error if message is too big */=0A= #define MSG_EXCEPT 020000 /* recv any msg except of specified = type.*/=0A= @@ -112,5 +116,10 @@=0A= int msgrcv (int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp,=0A= int msgflg);=0A= int msgctl (int msqid, int cmd, struct msqid_ds *buf);=0A= +=0A= +#ifdef __cplusplus=0A= +}=0A= +#endif =0A= +=0A= =0A= #endif /* _CYGWIN_MSG_H */=0A= Only in cygipc_new/include/sys: msg.h.bak=0A= diff -rubB cygipc/include/sys/sem.h cygipc_new/include/sys/sem.h=0A= --- cygipc/include/sys/sem.h Sun Sep 17 01:01:33 2000=0A= +++ cygipc_new/include/sys/sem.h Sat Sep 1 09:00:49 2001=0A= @@ -35,6 +35,10 @@=0A= #ifndef _CYGWIN_SEM_H=0A= #define _CYGWIN_SEM_H=0A= =0A= +#ifdef __cplusplus=0A= +extern "C" {=0A= +#endif =0A= +=0A= /* semop flags */=0A= #define SEM_UNDO 0x1000 /* undo the operation on exit */=0A= =0A= @@ -112,5 +116,9 @@=0A= extern int semget (key_t key, int nsems, int semflg);=0A= extern int semop (int semid, struct sembuf *sops, unsigned nsops);=0A= extern int semctl (int semid, int semnum, int cmd, union semun arg);=0A= +=0A= +#ifdef __cplusplus=0A= +}=0A= +#endif =0A= =0A= #endif /* _CYGWIN_SEM_H */=0A= diff -rubB cygipc/include/sys/shm.h cygipc_new/include/sys/shm.h=0A= --- cygipc/include/sys/shm.h Sun Sep 17 01:01:33 2000=0A= +++ cygipc_new/include/sys/shm.h Sat Sep 1 08:59:07 2001=0A= @@ -38,6 +38,10 @@=0A= #ifndef _CYGWIN_SHM_H_=0A= #define _CYGWIN_SHM_H_=0A= =0A= +#ifdef __cplusplus=0A= +extern "C" {=0A= +#endif =0A= +=0A= #define SHMMNI 128=0A= =0A= struct vm_area_struct {=0A= @@ -115,6 +119,10 @@=0A= =0A= int shmdt (char *shmaddr);=0A= int shmctl (int shmid, int cmd, struct shmid_ds *buf);=0A= +=0A= +#ifdef __cplusplus=0A= +}=0A= +#endif =0A= =0A= #endif /* _CYGWIN_SHM_H_ */=0A= =0A= ------=_NextPart_000_0008_01C133B3.A3F43E20--