]>
Commit | Line | Data |
---|---|---|
6988a057 JH |
1 | package hotline |
2 | ||
6988a057 | 3 | const ( |
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 | ||
a0241c25 JH |
44 | type accessBitmap [8]byte |
45 | ||
46 | func (bits *accessBitmap) Set(i int) { | |
47 | bits[i/8] |= 1 << uint(7-i%8) | |
48 | } | |
49 | ||
187d6dc5 JH |
50 | func (bits *accessBitmap) IsSet(i int) bool { |
51 | return bits[i/8]&(1<<uint(7-i%8)) != 0 | |
6988a057 | 52 | } |