Lines Matching refs:fd
50 int fd = ashmem_create_region(name == NULL ? "MemoryHeapBase" : name, size);
51 ALOGE_IF(fd<0, "error creating ashmem region: %s", strerror(errno));
52 if (fd >= 0) {
53 if (mapfd(fd, size) == NO_ERROR) {
55 ashmem_set_prot_region(fd, PROT_READ);
69 int fd = open(device, open_flags);
70 ALOGE_IF(fd<0, "error opening %s: %s", device, strerror(errno));
71 if (fd >= 0) {
74 if (mapfd(fd, size) == NO_ERROR) {
80 MemoryHeapBase::MemoryHeapBase(int fd, size_t size, uint32_t flags, uint32_t offset)
86 mapfd(dup(fd), size, offset);
89 status_t MemoryHeapBase::init(int fd, void *base, int size, int flags, const char* device)
94 mFD = fd;
102 status_t MemoryHeapBase::mapfd(int fd, size_t size, uint32_t offset)
107 if (fstat(fd, &sb) == 0)
114 PROT_READ|PROT_WRITE, MAP_SHARED, fd, offset);
116 ALOGE("mmap(fd=%d, size=%u) failed (%s)",
117 fd, uint32_t(size), strerror(errno));
118 close(fd);
121 //ALOGD("mmap(fd=%d, base=%p, size=%lu)", fd, base, size);
128 mFD = fd;
141 int fd = android_atomic_or(-1, &mFD);
142 if (fd >= 0) {
144 //ALOGD("munmap(fd=%d, base=%p, size=%lu)", fd, mBase, mSize);
149 close(fd);