Home | History | Annotate | Download | only in alts
      1 /*
      2  *
      3  * Copyright 2018 gRPC authors.
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  *
     17  */
     18 
     19 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_ALTS_CHECK_GCP_ENVIRONMENT_H
     20 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_ALTS_CHECK_GCP_ENVIRONMENT_H
     21 
     22 namespace grpc_core {
     23 namespace internal {
     24 
     25 /**
     26  * This method is a helper function that reads a file containing system bios
     27  * data. Exposed for testing only.
     28  *
     29  * - bios_file: a file containing BIOS data used to determine GCE tenancy
     30  *   information.
     31  *
     32  * It returns a buffer containing the data read from the file.
     33  */
     34 char* read_bios_file(const char* bios_file);
     35 
     36 /**
     37  * This method checks if system BIOS data contains Google-specific phrases.
     38  * Exposed for testing only.
     39  *
     40  * - bios_data: a buffer containing system BIOS data.
     41  *
     42  * It returns true if the BIOS data contains Google-specific phrases, and false
     43  * otherwise.
     44  */
     45 bool check_bios_data(const char* bios_data);
     46 
     47 }  // namespace internal
     48 }  // namespace grpc_core
     49 
     50 /**
     51  * This method checks if a VM (Windows or Linux) is running within Google
     52  * compute Engine (GCE) or not. It returns true if the VM is running in GCE and
     53  * false otherwise.
     54  */
     55 bool grpc_alts_is_running_on_gcp();
     56 
     57 #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_ALTS_CHECK_GCP_ENVIRONMENT_H */
     58