diff options
Diffstat (limited to 'hal/input_hal/inc/input_util.h')
-rwxr-xr-x | hal/input_hal/inc/input_util.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/hal/input_hal/inc/input_util.h b/hal/input_hal/inc/input_util.h new file mode 100755 index 0000000..6d6a400 --- /dev/null +++ b/hal/input_hal/inc/input_util.h @@ -0,0 +1,46 @@ +/* + * @copyright Copyright (c) 2018-2020 TOYOTA MOTOR CORPORATION. + * + * 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. + */ + +#ifndef INC_INPUT_UTIL_H_ +#define INC_INPUT_UTIL_H_ + +#include <native_service/frameworkunified_types.h> + +struct InputUtilList { + struct InputUtilList *next; + struct InputUtilList *prev; +}; + +#define INPUT_INIT_LIST_HEAD(ptr) \ + (ptr)->next = (ptr); (ptr)->prev = (ptr); + +#define input_list_entry(ptr, type, member) \ + (reinterpret_cast<type *>( \ + reinterpret_cast<char *>(ptr) - (size_t)(&(reinterpret_cast<type *>(0))->member))) + +#define input_list_for_each(pos, head) \ + for (pos = (head)->next; pos != (head); pos = pos->next) + +#define input_list_for_each_safe(pos, n, head) \ + for (pos = (head)->next, n = pos->next; pos != (head); \ + pos = n, n = pos->next) + +void InputUtilListAdd(struct InputUtilList *node_new, struct InputUtilList *node_head); +void InputUtilListDelete(struct InputUtilList *node); +int InputUtilMCSend(HANDLE h_message, PCSTR source, UI_32 cmd, UI_32 length, PCVOID data); +int InputUtilSleep(int usec); + +#endif // INC_INPUT_UTIL_H_ |