[#NetPermissionFlags]
= NetPermissionFlags
:mrdocs:

Fine&hyphen;grained permissions granted to a peer via &hyphen;whitebind or &hyphen;whitelist&period;

== Synopsis

Declared in `&lt;net&lowbar;permissions&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
enum class NetPermissionFlags : uint32&lowbar;t;
----

== Members

[cols="1,4"]
|===
| Name| Description
| `None` 
| No special permissions&period;
| `BloomFilter` 
| May query the bloom filter even when &hyphen;peerbloomfilters is disabled&period;
| `Relay` 
| Relay and accept transactions from this peer even in &hyphen;blocksonly mode, exempt from INV tracking limits&period;
| `ForceRelay` 
| Always relay transactions from this peer, even if already in the mempool&semi; implies Relay&period;
| `Download` 
| Allow getheaders during IBD and block download after the maxuploadtarget limit is reached&period;
| `NoBan` 
| Cannot be banned, disconnected, or discouraged for misbehavior&semi; implies Download&period;
| `Mempool` 
| May query the mempool&period;
| `Addr` 
| May request addresses without hitting the privacy cache and may send unlimited addresses&period;
| `Implicit` 
| Set when the user did not configure fine&hyphen;grained permissions via &hyphen;whitebind or &hyphen;whitelist&period;
| `All` 
| Combination of all fine&hyphen;grained permission flags&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:operator_bitor-09.adoc[`operator&verbar;`]
| Combine two sets of permission flags with a bitwise OR&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
