logging
This commit is contained in:
44
types/bitmasks.go
Normal file
44
types/bitmasks.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package types
|
||||
|
||||
type BitMask interface {
|
||||
HasFlag(bit MaskBit) bool
|
||||
AddFlag(bit MaskBit)
|
||||
ClearFlag(bit MaskBit)
|
||||
ToggleFlag(bit MaskBit)
|
||||
}
|
||||
|
||||
// BitMasks
|
||||
type MaskBit uint8
|
||||
|
||||
// LDAP Connection flags
|
||||
const (
|
||||
LdapBindUndefined MaskBit = 1 << iota
|
||||
LdapBindNone // GSSAPI via SASL or (TODO) Anonymous bind
|
||||
LdapBindNet
|
||||
LdapBindTls
|
||||
LdapBindStartTls
|
||||
LdapBindSasl
|
||||
LdapBindNoPassword
|
||||
)
|
||||
|
||||
func (f MaskBit) HasFlag(flag MaskBit) (r bool) {
|
||||
if f&flag != 0 {
|
||||
r = true
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (f *MaskBit) AddFlag(flag MaskBit) {
|
||||
*f |= flag
|
||||
return
|
||||
}
|
||||
|
||||
func (f *MaskBit) ClearFlag(flag MaskBit) {
|
||||
*f &= flag
|
||||
return
|
||||
}
|
||||
|
||||
func (f *MaskBit) ToggleFlag(flag MaskBit) {
|
||||
*f ^= flag
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user