Lines Matching refs:fd
55 int fd = ashmem_create_region(name == NULL ? "MemoryHeapBase" : name, size);
56 ALOGE_IF(fd<0, "error creating ashmem region: %s", strerror(errno));
57 if (fd >= 0) {
58 if (mapfd(fd, size) == NO_ERROR) {
60 ashmem_set_prot_region(fd, PROT_READ);
74 int fd = open(device, open_flags);
75 ALOGE_IF(fd<0, "error opening %s: %s", device, strerror(errno));
76 if (fd >= 0) {
79 if (mapfd(fd, size) == NO_ERROR) {
85 MemoryHeapBase::MemoryHeapBase(int fd, size_t size, uint32_t flags, uint32_t offset)
91 mapfd(dup(fd), size, offset);
94 status_t MemoryHeapBase::init(int fd, void *base, int size, int flags, const char* device)
99 mFD = fd;
107 status_t MemoryHeapBase::mapfd(int fd, size_t size, uint32_t offset)
114 int err = ioctl(fd, PMEM_GET_TOTAL_SIZE, ®);
120 if (fstat(fd, &sb) == 0)
128 PROT_READ|PROT_WRITE, MAP_SHARED, fd, offset);
130 ALOGE("mmap(fd=%d, size=%u) failed (%s)",
131 fd, uint32_t(size), strerror(errno));
132 close(fd);
135 //ALOGD("mmap(fd=%d, base=%p, size=%lu)", fd, base, size);
142 mFD = fd;
155 int fd = android_atomic_or(-1, &mFD);
156 if (fd >= 0) {
158 //ALOGD("munmap(fd=%d, base=%p, size=%lu)", fd, mBase, mSize);
163 close(fd);