Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo ist die Bibliothek /usr/include/sys/lock.h?
Hallo zusammen,
ich bin neue hier und möchte erstmal alle begrüßen!
Gleich mal meine erste Frage:
Wo ist eigentlich die C-Bibliothek lock.h? Ich habe ein kleines Programm, welches die Zugriffsrechte auf Dateien verändern soll - und das funktioniert nur mit den entsprechenden Systemfunktionen.
Wo sind denn die jetzt - wurde die Bibliothek inzwischen durch eine andere ersetzt?
Danke schonmal!
als root angemeldet?
MfG Bischi
peschmae
27-06-2005, 19:28
Wo ist eigentlich die C-Bibliothek lock.h? Ich habe ein kleines Programm, welches die Zugriffsrechte auf Dateien verändern soll - und das funktioniert nur mit den entsprechenden Systemfunktionen.
Wo sind denn die jetzt - wurde die Bibliothek inzwischen durch eine andere ersetzt?
Hallo. lock.h ist nur eine Header-Datei. Keine Bibliothek. Bei mir ist die in den Kernel-Sourcen enthalten.
Allerdings weiss ich nicht ob man so zeugs vom Userspace aus verwenden kann oder darf.
Da ich nicht so genau weiss was du da jetzt willst verweise ich mal auf http://www.pronix.de/pronix-95.html wo was zu Dateirechten setzen steht. Oder auf das Helmut-Herold-Unix-Linux-Systemprogrammierung-Buch, natürlich.
MfG Peschmä
Danke für den Tip!
Also ich habe hier ein älteres Programm, das ich irgendwie zum Laufen kriegen will:
#include <stdio.h>
#include <sys/lock.h>
#define TRUE 1
#define OK 0
#define FEHLER -1
extern void perror();
int main()
{
switch (plock(PROCLOCK)) /* Text- und Datensegment werden arretiert */
{
case OK:
printf("Prozess jetzt speicherresident.\n");
printf("In der Spalte F von \"ps -el\"");
printf(" kennzeichnet die 1 auf der Einerstelle,\n");
printf("dass der Prozess speicherresident ist.\n");
system("ps -el | grep \" F S\"");
system("ps -el | grep plock");
printf(" A\n !\n !\n");
break;
case FEHLER:
perror("plock()");
return(1);
default:
printf("???\n");
return(1);
}
switch (plock(UNLOCK)) /* Arretierung wird aufgehoben. */
{
case OK:
printf("Prozess nicht mehr speicherresident.\n");
system("ps -el | grep \" F S\"");
system("ps -el | grep plock");
printf(" A\n !\n !\n");
break;
case FEHLER:
perror("plock()");
return(1);
default:
printf("???\n");
return(1);
}
return(0);
}
Kann mir da jemand vielleicht helfen...?
peschmae
29-06-2005, 16:03
Das gibts unter Linux nicht, die Funktionen. Scheint laut g00gle (Free)BSD-Only zu sein.
Da müsstest du schon nach Linux-spezifischen Alternativen suche die was gleiches machen (kenne ich jetzt gerade nicht - dürfte es aber schong eben).
MfG Peschmä
Danke für die Antworten!
Dann ist es wohl besser, wenn ich das von Grund auf neu mache...
Was willst du denn machen? Evtl. hilft dir mlock(2) weiter
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.