rmprojdb, Subroutine

Zweck

Entfernt die angegebene Projektdefinition aus der angegebenen Projektdatenbank.

Bibliothek

Bibliothek libaacct.a

Syntax

<sys/aacct.h>

rmprojdb(void *handle, struct project *project, int flag)

Beschreibung

Die Subroutine rmprojdb entfernt die in der Strukturprojektvariablen gespeicherte Projektdefinition aus dem Projekt, das durch den Parameter Kennung benannt wird. Die Projektdatenbank muss initialisiert werden, bevor diese Subroutine aufgerufen wird. Zu diesem Zweck werden die Subroutinen Projdballoc und Projdbfinit bereitgestellt. Wenn die bereitgestellte Projektdefinition in der angegebenen Projektdatenbank nicht vorhanden ist, gibt die Subroutine rmprojdb den Wert -1 zurück und setzt die Fehlernummer auf den Wert ENOENT.

Die Subroutine rmprojdb verwendet einen Zeiger auf eine Projektstruktur als Eingabeargument. Dieser Zeiger auf die Projektstruktur enthält den Namen bzw. die Nummer eines zu entfernenden Projekts. Der Parameter flag wird gesetzt, um anzugeben, ob ein Name oder eine Zahl als Eingabe angegeben wird:
  • PROJ_NAME-Gibt an, dass die bereitgestellte Projektdefinition nur den Projektnamen enthält.
  • PROJ_NUM-Gibt an, dass die angegebene Projektdefinition nur die Projektnummer enthält.

Der Projektdatenbank ist ein interner Status (d. h. das aktuelle Projekt) zugeordnet. Wenn die Projektdatenbank initialisiert wird, ist das aktuelle Projekt das erste Projekt in der Datenbank. Die Subroutine rmprojdb entfernt das benannte Projekt und positioniert das interne aktuelle Projekt auf die erste Projektdefinition.

Parameter

Element Beschreibung
Handle Zeiger auf Projektdatenbankkennung.
project Zeiger auf eine Projektstruktur, die die Definition des hinzuzufügenden Projekts enthält.
flag Ganzzahliges Flag, das angibt, ob der Name oder die Nummer des Projekts angegeben wird.

Sicherheit

Nur für privilegierte Benutzer. Die Berechtigung kann auf Benutzer ohne Rootberechtigung erweitert werden, indem einem Benutzer die Berechtigung CAP_AACCT erteilt wird.

Rückgabewerte

Element Beschreibung
0 Erfolg
-1 Fehlschlag

Fehlercodes

Element Beschreibung
ENOENT Projektdefinition ist nicht vorhanden
EPERM Zugriff verweigert. Der Benutzer ist kein privilegierter Benutzer.
EINVAL Der übergebene Zeiger ist NULL oder der Parameter Markierung enthält einen ungültigen Wert.