]> git.r.bdr.sh - rbdr/mobius/blame - hotline/access.go
Wrap file transfer errors with more context
[rbdr/mobius] / hotline / access.go
CommitLineData
6988a057
JH
1package hotline
2
6988a057 3const (
d9bc63a1
JH
4 AccessDeleteFile = 0 // File System Maintenance: Can Delete Files
5 AccessUploadFile = 1 // File System Maintenance: Can Upload Files
6 AccessDownloadFile = 2 // File System Maintenance: Can Download Files
7 AccessRenameFile = 3 // File System Maintenance: Can Rename Files
8 AccessMoveFile = 4 // File System Maintenance: Can Move Files
9 AccessCreateFolder = 5 // File System Maintenance: Can Create Folders
10 AccessDeleteFolder = 6 // File System Maintenance: Can Delete Folders
11 AccessRenameFolder = 7 // File System Maintenance: Can Rename Folders
12 AccessMoveFolder = 8 // File System Maintenance: Can Move Folders
13 AccessReadChat = 9 // Chat: Can Read Chat
14 AccessSendChat = 10 // Chat: Can Send Chat
15 AccessOpenChat = 11 // Chat: Can Initial Private Chat
16 AccessCloseChat = 12 // Present in the Hotline 1.9 protocol documentation, but seemingly unused
17 AccessShowInList = 13 // Present in the Hotline 1.9 protocol documentation, but seemingly unused
18 AccessCreateUser = 14 // User Maintenance: Can Create Accounts
19 AccessDeleteUser = 15 // User Maintenance: Can Delete Accounts
20 AccessOpenUser = 16 // User Maintenance: Can Read Accounts
21 AccessModifyUser = 17 // User Maintenance: Can Modify Accounts
22 AccessChangeOwnPass = 18 // Present in the Hotline 1.9 protocol documentation, but seemingly unused
23 AccessNewsReadArt = 20 // News: Can Read Articles
24 AccessNewsPostArt = 21 // News: Can Post Articles
25 AccessDisconUser = 22 // User Maintenance: Can Disconnect Users (Note: Turns username red in user list)
26 AccessCannotBeDiscon = 23 // User Maintenance: Cannot be Disconnected
27 AccessGetClientInfo = 24 // User Maintenance: Can Get User Info
28 AccessUploadAnywhere = 25 // File System Maintenance: Can Upload Anywhere
29 AccessAnyName = 26 // Miscellaneous: Can User Any Name
30 AccessNoAgreement = 27 // Miscellaneous: Don't Show Agreement
31 AccessSetFileComment = 28 // File System Maintenance: Can Comment Files
32 AccessSetFolderComment = 29 // File System Maintenance: Can Comment Folders
33 AccessViewDropBoxes = 30 // File System Maintenance: Can View Drop Boxes
34 AccessMakeAlias = 31 // File System Maintenance: Can Make Aliases
35 AccessBroadcast = 32 // Messaging: Can Broadcast
36 AccessNewsDeleteArt = 33 // News: Can Delete Articles
37 AccessNewsCreateCat = 34 // News: Can Create Categories
38 AccessNewsDeleteCat = 35 // News: Can Delete Categories
39 AccessNewsCreateFldr = 36 // News: Can Create News Bundles
40 AccessNewsDeleteFldr = 37 // News: Can Delete News Bundles
41 AccessSendPrivMsg = 40 // Messaging: Can Send Messages (Note: 1.9 protocol doc incorrectly says this is bit 19)
6988a057
JH
42)
43
fd740bc4 44type AccessBitmap [8]byte
a0241c25 45
fd740bc4 46func (bits *AccessBitmap) Set(i int) {
a0241c25
JH
47 bits[i/8] |= 1 << uint(7-i%8)
48}
49
fd740bc4 50func (bits *AccessBitmap) IsSet(i int) bool {
187d6dc5 51 return bits[i/8]&(1<<uint(7-i%8)) != 0
6988a057 52}