xref: /openbmc/google-misc/acpi-power-state-daemon/subprojects/ncsid/src/common_defs.h (revision 1285115c16180bd28a3cfe79d9db8d10c84fe2ed)
1*1285115cSWilliam A. Kennington III /*
2*1285115cSWilliam A. Kennington III  * Copyright 2021 Google LLC
3*1285115cSWilliam A. Kennington III  *
4*1285115cSWilliam A. Kennington III  * Licensed under the Apache License, Version 2.0 (the "License");
5*1285115cSWilliam A. Kennington III  * you may not use this file except in compliance with the License.
6*1285115cSWilliam A. Kennington III  * You may obtain a copy of the License at
7*1285115cSWilliam A. Kennington III  *
8*1285115cSWilliam A. Kennington III  *      http://www.apache.org/licenses/LICENSE-2.0
9*1285115cSWilliam A. Kennington III  *
10*1285115cSWilliam A. Kennington III  * Unless required by applicable law or agreed to in writing, software
11*1285115cSWilliam A. Kennington III  * distributed under the License is distributed on an "AS IS" BASIS,
12*1285115cSWilliam A. Kennington III  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*1285115cSWilliam A. Kennington III  * See the License for the specific language governing permissions and
14*1285115cSWilliam A. Kennington III  * limitations under the License.
15*1285115cSWilliam A. Kennington III  */
16*1285115cSWilliam A. Kennington III 
17*1285115cSWilliam A. Kennington III #pragma once
18*1285115cSWilliam A. Kennington III 
19*1285115cSWilliam A. Kennington III #define RETURN_IF_ERROR(expr, msg)                                             \
20*1285115cSWilliam A. Kennington III     do                                                                         \
21*1285115cSWilliam A. Kennington III     {                                                                          \
22*1285115cSWilliam A. Kennington III         int _ret = (expr);                                                     \
23*1285115cSWilliam A. Kennington III         if (_ret < 0)                                                          \
24*1285115cSWilliam A. Kennington III         {                                                                      \
25*1285115cSWilliam A. Kennington III             std::perror(msg);                                                  \
26*1285115cSWilliam A. Kennington III             return _ret;                                                       \
27*1285115cSWilliam A. Kennington III         }                                                                      \
28*1285115cSWilliam A. Kennington III     } while (0)
29