---
title: llarp::platform
summary: namespace for platform feature detection constexprs 

---

# llarp::platform

namespace for platform feature detection constexprs 

## Attributes

|                | Name           |
| -------------- | -------------- |
| constexpr bool | **[is_linux](Namespaces/namespacellarp_1_1platform.md#variable-is-linux)** <br>are we linux ?  |
| constexpr bool | **[with_systemd](Namespaces/namespacellarp_1_1platform.md#variable-with-systemd)** <br>building with systemd enabled ?  |
| constexpr bool | **[is_freebsd](Namespaces/namespacellarp_1_1platform.md#variable-is-freebsd)** <br>are we freebsd ?  |
| constexpr bool | **[is_windows](Namespaces/namespacellarp_1_1platform.md#variable-is-windows)** <br>are we windows ?  |
| constexpr bool | **[is_apple](Namespaces/namespacellarp_1_1platform.md#variable-is-apple)** <br>are we an apple platform ?  |
| constexpr bool | **[is_apple_sysex](Namespaces/namespacellarp_1_1platform.md#variable-is-apple-sysex)** <br>are we building as an apple system extension  |
| constexpr bool | **[is_android](Namespaces/namespacellarp_1_1platform.md#variable-is-android)** <br>are we an android platform ?  |
| constexpr bool | **[is_iphone](Namespaces/namespacellarp_1_1platform.md#variable-is-iphone)** <br>are we an iphone ?  |
| constexpr bool | **[is_simulation](Namespaces/namespacellarp_1_1platform.md#variable-is-simulation)** <br>are we running with pybind simulation mode enabled?  |
| constexpr bool | **[has_systemd](Namespaces/namespacellarp_1_1platform.md#variable-has-systemd)** <br>do we have systemd support ?  |
| constexpr bool | **[is_macos](Namespaces/namespacellarp_1_1platform.md#variable-is-macos)** <br>are we using macos ?  |
| constexpr bool | **[is_mobile](Namespaces/namespacellarp_1_1platform.md#variable-is-mobile)** <br>are we a mobile phone ?  |
| constexpr bool | **[supports_ipv6](Namespaces/namespacellarp_1_1platform.md#variable-supports-ipv6)** <br>does this platform support native ipv6 ?  |



## Attributes Documentation

### variable is_linux

```cpp
constexpr bool is_linux =



      false;
```

are we linux ? 

### variable with_systemd

```cpp
constexpr bool with_systemd =



      false;
```

building with systemd enabled ? 

### variable is_freebsd

```cpp
constexpr bool is_freebsd =



      false;
```

are we freebsd ? 

### variable is_windows

```cpp
constexpr bool is_windows =



      false;
```

are we windows ? 

### variable is_apple

```cpp
constexpr bool is_apple =



      false;
```

are we an apple platform ? 

### variable is_apple_sysex

```cpp
constexpr bool is_apple_sysex =



      false;
```

are we building as an apple system extension 

### variable is_android

```cpp
constexpr bool is_android =



      false;
```

are we an android platform ? 

### variable is_iphone

```cpp
constexpr bool is_iphone =



      false;
```

are we an iphone ? 

### variable is_simulation

```cpp
constexpr bool is_simulation =



      false;
```

are we running with pybind simulation mode enabled? 

### variable has_systemd

```cpp
constexpr bool has_systemd = is_linux and with_systemd and not(is_android or is_windows);
```

do we have systemd support ? 

### variable is_macos

```cpp
constexpr bool is_macos = is_apple and not is_iphone;
```

are we using macos ? 

### variable is_mobile

```cpp
constexpr bool is_mobile = is_android or is_iphone;
```

are we a mobile phone ? 

### variable supports_ipv6

```cpp
constexpr bool supports_ipv6 = not is_windows;
```

does this platform support native ipv6 ? 




-------------------------------

Updated on 2022-09-10 at 18:17:14 +0000