1*6777b538SAndroid Build Coastguard Worker // Copyright 2021 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "base/file_descriptor_posix.h" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker #include "base/files/file.h" 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Worker namespace base { 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker FileDescriptor::FileDescriptor() = default; 12*6777b538SAndroid Build Coastguard Worker FileDescriptor(int ifd,bool iauto_close)13*6777b538SAndroid Build Coastguard WorkerFileDescriptor::FileDescriptor(int ifd, bool iauto_close) 14*6777b538SAndroid Build Coastguard Worker : fd(ifd), auto_close(iauto_close) {} 15*6777b538SAndroid Build Coastguard Worker FileDescriptor(File file)16*6777b538SAndroid Build Coastguard WorkerFileDescriptor::FileDescriptor(File file) 17*6777b538SAndroid Build Coastguard Worker : fd(file.TakePlatformFile()), auto_close(true) {} 18*6777b538SAndroid Build Coastguard Worker FileDescriptor(ScopedFD fd)19*6777b538SAndroid Build Coastguard WorkerFileDescriptor::FileDescriptor(ScopedFD fd) 20*6777b538SAndroid Build Coastguard Worker : fd(fd.release()), auto_close(true) {} 21*6777b538SAndroid Build Coastguard Worker operator ==(const FileDescriptor & other) const22*6777b538SAndroid Build Coastguard Workerbool FileDescriptor::operator==(const FileDescriptor& other) const { 23*6777b538SAndroid Build Coastguard Worker return fd == other.fd && auto_close == other.auto_close; 24*6777b538SAndroid Build Coastguard Worker } 25*6777b538SAndroid Build Coastguard Worker operator !=(const FileDescriptor & other) const26*6777b538SAndroid Build Coastguard Workerbool FileDescriptor::operator!=(const FileDescriptor& other) const { 27*6777b538SAndroid Build Coastguard Worker return !operator==(other); 28*6777b538SAndroid Build Coastguard Worker } 29*6777b538SAndroid Build Coastguard Worker operator <(const FileDescriptor & other) const30*6777b538SAndroid Build Coastguard Workerbool FileDescriptor::operator<(const FileDescriptor& other) const { 31*6777b538SAndroid Build Coastguard Worker return other.fd < fd; 32*6777b538SAndroid Build Coastguard Worker } 33*6777b538SAndroid Build Coastguard Worker 34*6777b538SAndroid Build Coastguard Worker } // namespace base