public static void Main()
public static void Decode(long privs) {
var epriv = (Privileges)privs;
Enum.GetValues(typeof(Privileges))
.Where(value => epriv.HasFlag(value))
.OrderBy(p => p.ToString())
foreach (var p in privileges) {
Console.WriteLine(privs.ToString() + ": " + p);
public enum Privileges : long {
privCancelCheckOutDoc = 262144,
privChangeClass = 67108864,
privCheckInOutDoc = 32768,
privCheckOutDoc = 131072,
privEditAnnotations = 1048576,
privIERRecordDeclare = 536870912,
privMajorVersion = 134217728,
privMinorVersion = 268435456,
privModifyNotes = 1073741824,
privModifyPermissions = 2147483648,
privMoveToFolder = 33554432,
privRemoveFromFolder = 256,
privStartWorkflow = 8388608,
privViewAnnotations = 524288,