diff options
author | Chris Weir <chrisweir@google.com> | 2021-11-22 09:59:07 -0800 |
---|---|---|
committer | Chris Weir <chrisweir@google.com> | 2021-12-02 11:02:12 -0800 |
commit | 7b1428f3f3d652527c1186fb1459fe9efb436ccb (patch) | |
tree | 1ac9cb43158ebde8f65252d0eb53d5c5e593673b /wifi/netlinkinterceptor/aidl/default/util.h | |
parent | 0f4c3218adaa8f89cbd24416783fe7d446e58f95 (diff) |
Add default implementation for Nlinterceptor
Add default Netlink Interceptor implementation
Bug: 201467304
Test: atest VtsHalNetlinkInterceptorV1_0Test
Change-Id: I7c765f9528a3d5be85bf5554e22eae51c1607548
Diffstat (limited to 'wifi/netlinkinterceptor/aidl/default/util.h')
-rw-r--r-- | wifi/netlinkinterceptor/aidl/default/util.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/wifi/netlinkinterceptor/aidl/default/util.h b/wifi/netlinkinterceptor/aidl/default/util.h new file mode 100644 index 0000000000..9b8ec63c1a --- /dev/null +++ b/wifi/netlinkinterceptor/aidl/default/util.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include <android-base/macros.h> + +#include <functional> + +namespace android::nlinterceptor { + +/** + * Handy-dandy helper to get the size of a statically initialized array. + * + * \param N the array to get the size of. + * \return the size of the array. + */ +template <typename T, size_t N> +size_t countof(T (&)[N]) { + return N; +} + +/** + * Helper to check if socket is readable (POLLIN is set). + * + * \param revents pollfd.revents value to check. + * \return true if socket is ready to read. + */ +bool isSocketReadable(short revents); + +/** + * Helper to check if socket is bad (POLLERR, POLLHUP or POLLNVAL is set). + * + * \param revents pollfd.revents value to check. + * \return true if socket is bad. + */ +bool isSocketBad(short revents); + +} // namespace android::nlinterceptor |