#include <NetInfo/dsstatus.h>
char *dsstatus_message(dsstatus s)
{
switch (s)
{
case DSStatusOK: return "Operation Succeeded";
case DSStatusInvalidStore: return "Invalid Datastore";
case DSStatusNoFile: return "No Such File";
case DSStatusReadFailed: return "Read Failed";
case DSStatusWriteFailed: return "Write Failed";
case DSStatusInvalidUpdate: return "Invalid Update on Clone";
case DSStatusDuplicateRecord: return "Duplicate Record in Datastore";
case DSStatusNoRootRecord: return "No Root Record in Datastore";
case DSStatusLocked: return "Datastore Locked";
case DSStatusInvalidRecord: return "Invalid Record";
case DSStatusNoData: return "No Data";
case DSStatusInvalidRecordID: return "Invalid Record ID";
case DSStatusInvalidPath: return "Invalid Path";
case DSStatusInvalidKey: return "Invalid Key";
case DSStatusStaleRecord: return "Stale Record Serial Number";
case DSStatusPathNotLocal: return "Path Not Local to Datastore";
case DSStatusConstraintViolation: return "Constraint Violation";
case DSStatusNamingViolation: return "Naming Violation";
case DSStatusObjectClassViolation: return "Object Class Violation";
case DSStatusInvalidSessionMode: return "Invalid Session Mode";
case DSStatusInvalidSession: return "Invalid Session";
case DSStatusAccessRestricted: return "Access Restricted";
case DSStatusReadRestricted: return "Read Access Restricted";
case DSStatusWriteRestricted: return "Write Access Restricted";
case DSStatusFailed: return "Operation Failed";
}
return "Unknown Status Code";
}