78 lines
2.0 KiB
C
78 lines
2.0 KiB
C
/****************************************************************
|
|
* *
|
|
* Copyright 2001, 2011 Fidelity Information Services, Inc *
|
|
* *
|
|
* This source code contains the intellectual property *
|
|
* of its copyright holder(s), and is made available *
|
|
* under a license. If you do not know the terms of *
|
|
* the license, please stop and do not read further. *
|
|
* *
|
|
****************************************************************/
|
|
|
|
#ifndef MU_RNDWN_DEFINED
|
|
#define MU_RNDWN_DEFINED
|
|
|
|
/* for FTOK_SEM_PER_ID */
|
|
#include "gtm_sem.h"
|
|
|
|
#define SHMID 2
|
|
|
|
#ifdef __linux__
|
|
#define KEY 1
|
|
#define IPCS_CMD_STR "ipcs -m | grep '^0x'"
|
|
#define IPCS_SEM_CMD_STR "ipcs -s | grep '^0x'"
|
|
#else
|
|
#define KEY 3
|
|
/* though the extra blank space is required in AIX under certain cases, we
|
|
* are adding it for all UNIX versions to avoid another ifdef for AIX.
|
|
*/
|
|
#define IPCS_CMD_STR "ipcs -m | grep '^m' | sed 's/^m/m /g'"
|
|
#define IPCS_SEM_CMD_STR "ipcs -s | grep '^s' | sed 's/^s/s /g'"
|
|
#endif /* __linux__ */
|
|
|
|
#define SGMNTSIZ 10
|
|
#define MAX_PARM_LEN 128
|
|
#define MAX_ENTRY_LEN 1024
|
|
|
|
|
|
typedef struct shm_parms_struct
|
|
{
|
|
ssize_t sgmnt_siz;
|
|
int shmid;
|
|
key_t key;
|
|
} shm_parms;
|
|
|
|
#define RNDWN_ERR(str, reg) \
|
|
{ \
|
|
save_errno = errno; \
|
|
if (reg) \
|
|
util_out_print(str, TRUE, DB_LEN_STR(reg)); \
|
|
else \
|
|
util_out_print(str, TRUE); \
|
|
util_out_print(STRERROR(save_errno), TRUE); \
|
|
}
|
|
|
|
#define CONVERT_TO_NUM(ENTRY) \
|
|
{ \
|
|
if (!parm) \
|
|
{ \
|
|
free(parm_buff); \
|
|
return NULL; \
|
|
} \
|
|
if (cli_is_dcm(parm)) \
|
|
parm_buff->ENTRY = (int)(STRTOUL(parm, NULL, 10)); \
|
|
else if (cli_is_hex(parm + 2)) \
|
|
parm_buff->ENTRY = (int)(STRTOUL(parm, NULL, 16)); \
|
|
else \
|
|
{ \
|
|
assert(FALSE); \
|
|
free(parm_buff); \
|
|
free(parm); \
|
|
return NULL; \
|
|
} \
|
|
free(parm); \
|
|
}
|
|
|
|
boolean_t mu_rndwn_file(gd_region *reg, boolean_t standalone);
|
|
#endif
|