Shared Persistent Heap Data Environment Manual  1.1.0
sassim.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2009-2014 IBM Corporation.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation, Steven Munroe - initial API and implementation
10  */
11 
12 #ifndef __SAS_SIM_H
13 #define __SAS_SIM_H
14 
82 #include <stdlib.h>
83 
89 typedef unsigned long sasseg_t;
90 
91 #ifdef __cplusplus
92 #define __C__ "C"
93 #else
94 #define __C__
95 #endif
96 
102 extern __C__ int sasClearOnDealloc;
103 
110 extern __C__ unsigned long getMemLow();
111 
118 extern __C__ unsigned long getMemHigh();
119 
125 extern __C__ void
126 setSASmemrange (unsigned long low, unsigned long high);
127 
153 extern __C__ int SASJoinRegion();
154 
184 extern __C__ int SASJoinRegionByName (const char * store_name);
185 
202 extern __C__ void *SASBlockAlloc (unsigned long blockSize);
203 
213 extern __C__ void SASBlockDealloc (void *blockAddr, unsigned long blockSize);
214 
229 extern __C__ void SASListFreeRegion ( void **blockAddr,
230  unsigned long *blockSize,
231  int *count);
232 
248 extern __C__ void SASListAllocatedRegion (void **blockAddr,
249  unsigned long *blockSize,
250  int *count);
251 
265 extern __C__ void SASListInUseMem (void **blockAddr, unsigned long *blockSize,
266  int *count);
267 
283 extern __C__ void SASListFreeMem (void **blockAddr, unsigned long *blockSize,
284  int *count);
285 
301 extern __C__ void SASListUncommittedMem (void **blockAddr, unsigned long *blockSize,
302  int *count);
303 
312 extern __C__ unsigned int SASAnchorFreeSpace();
313 
322 extern __C__ void SASReset();
323 
329 extern __C__ void SASSeize();
330 
334 extern __C__ void SASRelease();
335 
345 extern __C__ void SASResetSem();
346 
357 extern __C__ void SASCleanUp ();
358 
368 extern __C__ void SASThreadSetUp ();
369 
377 extern __C__ void SASThreadCleanUp ();
378 
386 extern __C__ void SASRemove();
387 
403 extern __C__ void setSASFinder (void *);
404 
410 extern __C__ void *getSASFinder();
411 
412 #endif /* __SAS_SIM_H */
413 
__C__ void setSASFinder(void *)
Sets the SAS finder pointer to a SAS block or utility object.
__C__ void SASRelease()
Release the anchor block master lock.
__C__ void * SASBlockAlloc(unsigned long blockSize)
Allocate a block of memory within SAS Storage.
__C__ void SASThreadSetUp()
Thread specific setup for secondary thread accessing the SAS region.
__C__ unsigned long getMemLow()
Get the Region&#39;s lowest memory address.
__C__ int sasClearOnDealloc
SAS clear on block deallocate flag.
__C__ void SASListInUseMem(void **blockAddr, unsigned long *blockSize, int *count)
Return lists of currently allocated block addresses and sizes.
__C__ void SASResetSem()
Reset the internal Semaphores used by Seize/Release the SAS lock manager.
__C__ unsigned int SASAnchorFreeSpace()
Get the current number of free bytes within the Anchor blocks internal heap.
#define __C__
ignore this macro behind the curtain
Definition: sasmsync.h:32
__C__ void SASBlockDealloc(void *blockAddr, unsigned long blockSize)
Deallocate a block of memory within SAS Storage.
__C__ int SASJoinRegionByName(const char *store_name)
Join this process to a named SAS Region.
__C__ void SASThreadCleanUp()
Thread specific cleanup for secondary thread accessing the SAS region.
__C__ void SASListUncommittedMem(void **blockAddr, unsigned long *blockSize, int *count)
Return lists of currently uncommitted block addresses and sizes.
__C__ void SASCleanUp()
Process wide cleanup for the SAS runtime. +* +*.
__C__ void setSASmemrange(unsigned long low, unsigned long high)
Set the Region&#39;s low/high memory address for testing.
__C__ void SASListFreeRegion(void **blockAddr, unsigned long *blockSize, int *count)
Return lists of currently free segment block addresses and sizes.
__C__ void SASReset()
Reset the SAS Region back to initial state.
unsigned long sasseg_t
SAS segment ID.
Definition: sassim.h:89
__C__ void SASListFreeMem(void **blockAddr, unsigned long *blockSize, int *count)
Return lists of freed block addresses and sizes.
__C__ void SASListAllocatedRegion(void **blockAddr, unsigned long *blockSize, int *count)
Return lists of currently allocated segment block addresses and sizes.
__C__ void SASRemove()
Remove the SAS Region.
__C__ void SASSeize()
Seize the anchor block master lock.
__C__ unsigned long getMemHigh()
Get the Region&#39;s highest memory address.
__C__ void * getSASFinder()
Get the SAS finder address.
__C__ int SASJoinRegion()
Join this process to a SAS Region.