Android-cuttlefish cvd tool
adb
adb_unique_fd.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2016 The Android Open Source Project
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#pragma once
18
19
#include <
errno.h
>
20
#include <unistd.h>
21
22
#include <
android-base/unique_fd.h
>
23
24
#if defined(_WIN32)
25
// Helper to automatically close an FD when it goes out of scope.
26
struct
AdbCloser {
27
static
void
Close(
int
fd);
28
};
29
30
using
unique_fd
=
android::base::unique_fd_impl<AdbCloser>
;
31
#else
32
using
unique_fd
=
android::base::unique_fd
;
33
#endif
34
35
using
android::base::borrowed_fd
;
36
37
template
<
typename
T>
38
int
adb_close
(
const
android::base::unique_fd_impl<T>
&)
39
__attribute__
((__unavailable__(
"adb_close called on unique_fd"
)));
adb_close
int adb_close(const android::base::unique_fd_impl< T > &) __attribute__((__unavailable__("adb_close called on unique_fd")))
android::base::unique_fd_impl
Definition:
unique_fd.h:61
errno.h
android::base::unique_fd
unique_fd_impl< DefaultCloser > unique_fd
Definition:
unique_fd.h:184
android::base::borrowed_fd
Definition:
unique_fd.h:292
unique_fd.h
__attribute__
#define __attribute__(x)
Definition:
common.h:14
Generated by
1.9.4