Lines Matching refs:fd
49 int fd = ashmem_create_region(name == NULL ? "MemoryHeapBase" : name, size);
50 ALOGE_IF(fd<0, "error creating ashmem region: %s", strerror(errno));
51 if (fd >= 0) {
52 if (mapfd(fd, size) == NO_ERROR) {
54 ashmem_set_prot_region(fd, PROT_READ);
68 int fd = open(device, open_flags);
69 ALOGE_IF(fd<0, "error opening %s: %s", device, strerror(errno));
70 if (fd >= 0) {
73 if (mapfd(fd, size) == NO_ERROR) {
79 MemoryHeapBase::MemoryHeapBase(int fd, size_t size, uint32_t flags, uint32_t offset)
85 mapfd(fcntl(fd, F_DUPFD_CLOEXEC, 0), size, offset);
88 status_t MemoryHeapBase::init(int fd, void *base, int size, int flags, const char* device)
93 mFD = fd;
101 status_t MemoryHeapBase::mapfd(int fd, size_t size, uint32_t offset)
106 if (fstat(fd, &sb) == 0)
113 PROT_READ|PROT_WRITE, MAP_SHARED, fd, offset);
115 ALOGE("mmap(fd=%d, size=%u) failed (%s)",
116 fd, uint32_t(size), strerror(errno));
117 close(fd);
120 //ALOGD("mmap(fd=%d, base=%p, size=%lu)", fd, base, size);
127 mFD = fd;
140 int fd = android_atomic_or(-1, &mFD);
141 if (fd >= 0) {
143 //ALOGD("munmap(fd=%d, base=%p, size=%lu)", fd, mBase, mSize);
148 close(fd);