sblk_defs.h revision cee0fb94c0d4227de0a00efc162fb2739844b641
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SBLK_DEFS_
#define _SBLK_DEFS_
#include <time.h>
#ifndef _DEFS_
#include "defs.h"
#endif
#define SMEM_LIB_ENV_KEY "ACSLS_LIB_SHM_KEY"
typedef enum {
} USAGE_STATUS;
struct block_preamble {
int block_size;
int pid;
int process_count;
};
#define BLK_SIZE_SMALL 512
#define BLK_NUM_SMALL 128
#define BLK_SIZE_LARGE 4096
#define BLK_NUM_LARGE 32
struct sh_small_block {
struct block_preamble bp;
char data [BLK_SIZE_SMALL];
};
struct sh_large_block {
struct block_preamble bp;
char data [BLK_SIZE_LARGE];
};
#define BLK_TOT_MEM_USED ((sizeof (struct sh_large_block) *
(sizeof (struct sh_small_block) * BLK_NUM_SMALL))
#define BLK_CLEANUP_WAIT (600)
typedef struct sh_large_block CL_SHM_LARGE;
typedef struct block_preamble CL_SHM_PREAMBLE;
typedef struct sh_small_block CL_SHM_SMALL;
extern CL_SHM_LARGE *large_preamble;
extern int semaphore_id;
extern int shared_id;
extern CL_SHM_SMALL *small_preamble;
struct dshm_hdr {
};
struct dshm_id {
int semaphore;
int shared_mem;
};
enum dshm_build_flag {
};
#define SMEM_UNSET INT_MAX
typedef int COUNT_TYPE;
typedef int INDEX_TYPE;
typedef struct smem_acs {
} SMEM_ACS;
typedef struct smem_lsm {
} SMEM_LSM;
typedef struct smem_pnl {
} SMEM_PNL;
typedef struct smem_lib {
} SMEM_LIB;
typedef struct smem_lib_ptrs {
BOOLEAN cl_sblk_attach(void);
BOOLEAN cl_sblk_available(void);
int cl_sblk_cleanup(void);
BOOLEAN cl_sblk_create(void);
BOOLEAN cl_sblk_destroy(void);
#endif /* _SBLK_DEFS_ */