69 lines
2.2 KiB
C
69 lines
2.2 KiB
C
|
/******************************************************************************
|
||
|
*
|
||
|
* shrmem - NT uniVerse shared memory functions include file
|
||
|
*
|
||
|
* Module %M% Version %I% Date %H%
|
||
|
*
|
||
|
* (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved
|
||
|
* This is unpublished proprietary source code of Ardent Software Inc.
|
||
|
* The copyright notice above does not evidence any actual or intended
|
||
|
* publication of such source code.
|
||
|
*
|
||
|
*******************************************************************************
|
||
|
*
|
||
|
* Maintenence log - insert most recent change descriptions at top
|
||
|
*
|
||
|
* Date.... GTAR# WHO Description.........................................
|
||
|
* 10/14/98 23801 SAP Change copyrights.
|
||
|
* 08/23/95 17242 AGM Replace COMPUTER==WINNT test by MSWIN test
|
||
|
* 05/23/95 15077 GMM Added UVSHM_SUPERSEDE token
|
||
|
* 09/30/94 15077 GMM Module Created
|
||
|
*
|
||
|
******************************************************************************/
|
||
|
|
||
|
/*
|
||
|
* This include file contains the tokens and declarations required
|
||
|
* for using the generic shared memory routines for uniVerse.
|
||
|
*/
|
||
|
|
||
|
#define UVSHM_NOACCESS 1
|
||
|
#define UVSHM_READONLY 2
|
||
|
#define UVSHM_READWRITE 3
|
||
|
|
||
|
/*
|
||
|
* Define our segment creation tokens. On NT we have the supersede option.
|
||
|
* On UNIX this is the same as just CREATE.
|
||
|
*/
|
||
|
#define UVSHM_NOCREATE 0
|
||
|
#define UVSHM_CREATE 1
|
||
|
#ifdef MSWIN
|
||
|
#define UVSHM_SUPERSEDE 2
|
||
|
#else
|
||
|
#define UVSHM_SUPERSEDE UVSHM_CREATE
|
||
|
#endif
|
||
|
|
||
|
#define UVSHM_NOROUND 0
|
||
|
#define UVSHM_ROUND 1
|
||
|
|
||
|
typedef struct {
|
||
|
uid_t create_uid; /* creators uid */
|
||
|
pid_t create_pid; /* creators pid */
|
||
|
time_t change_time; /* time last changed */
|
||
|
uid_t perm_uid; /* owner id of the segment */
|
||
|
gid_t perm_gid; /* group id of the segment */
|
||
|
int other_access; /* other users access mode */
|
||
|
int num_attached; /* number attached */
|
||
|
} uvshm_info;
|
||
|
|
||
|
/*
|
||
|
* The routine declarations
|
||
|
*/
|
||
|
extern int sm_get_shm();
|
||
|
extern char *sm_attach_shm();
|
||
|
extern int sm_detach_shm();
|
||
|
extern int sm_remove_shm();
|
||
|
extern int sm_shm_getinfo();
|
||
|
extern int sm_shm_putinfo();
|
||
|
extern int sm_show_shm();
|
||
|
|