blob: 65cdcd77353a8b9fba9b88d0c508af88d3bbba2f [file] [log] [blame]
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -08001/*
2 * Copyright (C) 2008 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#ifndef _BINDER_MODULE_H_
18#define _BINDER_MODULE_H_
19
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080020/* obtain structures and constants from the kernel header */
21
Steven Moreland28723ae2019-04-01 18:52:30 -070022// TODO(b/31559095): bionic on host
Steven Morelanded3b5632019-09-20 11:24:28 -070023#ifndef __ANDROID__
Steven Moreland28723ae2019-04-01 18:52:30 -070024#define __packed __attribute__((__packed__))
25#endif
26
27// TODO(b/31559095): bionic on host
28#if defined(B_PACK_CHARS) && !defined(_UAPI_LINUX_BINDER_H)
29#undef B_PACK_CHARS
30#endif
31
Christopher Ferris0170cd02016-07-18 16:57:34 -070032#include <linux/android/binder.h>
Steven Moreland6ba5a252021-05-04 22:49:00 +000033#include <sys/ioctl.h>
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080034
Yu-Ting Tsengd5fc4462024-04-30 15:07:13 -070035struct binder_frozen_state_info {
36 binder_uintptr_t cookie;
37 __u32 is_frozen;
38};
39
40#ifndef BR_FROZEN_BINDER
41// Temporary definition of BR_FROZEN_BINDER until UAPI binder.h includes it.
42#define BR_FROZEN_BINDER _IOR('r', 21, struct binder_frozen_state_info)
43#endif // BR_FROZEN_BINDER
44
45#ifndef BR_CLEAR_FREEZE_NOTIFICATION_DONE
46// Temporary definition of BR_CLEAR_FREEZE_NOTIFICATION_DONE until UAPI binder.h includes it.
47#define BR_CLEAR_FREEZE_NOTIFICATION_DONE _IOR('r', 22, binder_uintptr_t)
48#endif // BR_CLEAR_FREEZE_NOTIFICATION_DONE
49
50#ifndef BC_REQUEST_FREEZE_NOTIFICATION
51// Temporary definition of BC_REQUEST_FREEZE_NOTIFICATION until UAPI binder.h includes it.
52#define BC_REQUEST_FREEZE_NOTIFICATION _IOW('c', 19, struct binder_handle_cookie)
53#endif // BC_REQUEST_FREEZE_NOTIFICATION
54
55#ifndef BC_CLEAR_FREEZE_NOTIFICATION
56// Temporary definition of BC_CLEAR_FREEZE_NOTIFICATION until UAPI binder.h includes it.
57#define BC_CLEAR_FREEZE_NOTIFICATION _IOW('c', 20, struct binder_handle_cookie)
58#endif // BC_CLEAR_FREEZE_NOTIFICATION
59
60#ifndef BC_FREEZE_NOTIFICATION_DONE
61// Temporary definition of BC_FREEZE_NOTIFICATION_DONE until UAPI binder.h includes it.
62#define BC_FREEZE_NOTIFICATION_DONE _IOW('c', 21, binder_uintptr_t)
63#endif // BC_FREEZE_NOTIFICATION_DONE
64
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080065#endif // _BINDER_MODULE_H_