Update contrib.
2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Declaration of CMmapControllerNode
20 #ifndef MMAP_CONTROLLER_NODE_H
21 #define MMAP_CONTROLLER_NODE_H
26 #include "mmapmemorynode.h"
33 // FORWARD DECLARATIONS
34 class CMmapMemoryNode;
38 // FUNCTION PROTOTYPES
43 * This class is responsible to managing the memory mapped nodes.
44 * This will maintain the mapped memory in a list format.
47 NONSHARABLE_CLASS ( CMmapControllerNode ): public BBase
51 * 1st phase constructor.
53 static CMmapControllerNode * NewL();
58 ~CMmapControllerNode();
61 * To create a mapped memory and add in mmap node list
64 static TAny* AddMmapNodeL(struct _reent *r, size_t len, int flag, \
65 int shmflg, int fildes, off_t offset, size_t maplen);
68 * To unmap a mapped memory and delete from mmap node list
71 int DeleteMmapNode(TAny* aAddr, int& anerror);
74 * To sync a mapped memory into the file below
77 int SyncMmapNode(TAny* aAddr, size_t len, int flags, int& anerror);
80 * To modify protection mode of a mapped memory.
83 int ChprotMmapNode(const TAny* addr, size_t len, int prot, int& anerrno);
86 * To delete a mapped memory from node list.
89 static void RemoveControllerL(void *p);
93 * Default constructor.
95 CMmapControllerNode();
98 * 2nd phase constructor.
103 TSglQue<CMmapMemoryNode> iMmapQueue;
104 TSglQueIter<CMmapMemoryNode> iMmapQueueIter;
107 #endif // MMAP_CONTROLLER_NODE_H