Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Solaris Containers: Resource Management and Solaris Zones Developer's Guide
Previous Next

Code Examples for Accessing project Database Entries

Example 2-1 Printing the First Three Fields of Each Entry in the project Database

The key points for this example include the following:

  • setprojent() rewinds the project database to start at the beginning.

  • getprojent() is called with a conservative maximum buffer size that is defined in project.h.

  • endprojent() closes the project database and frees resources.

#include <project.h>

struct project projent;
char buffer[PROJECT_BUFSZ]; /* Use safe buffer size from project.h */
struct project *pp;

setprojent();  /* Rewind the project database to start at the beginning */

while (1) {
   pp = getprojent(&projent, buffer, PROJECT_BUFSZ);
      if (pp == NULL)
    printf("%s:%d:%s\n", pp->pj_name, pp->pj_projid, pp->pj_comment);

endprojent();   /* Close the database and free project resources */
Example 2-2 Getting a project Database Entry That Matches the Caller's Project ID

The following example calls getprojbyid() to get a project database entry that matches the caller's project ID. The example then prints the project name and the project ID.

#include <project.h>

struct project *pj;
char buffer[PROJECT_BUFSZ]; /* Use safe buffer size from project.h */

   projid_t pjid;
   pjid = getprojid();
   pj = getprojbyid(pjid, &projent, buffer, PROJECT_BUFSZ);
   if (pj == NULL) {
       /* fail; */
   printf("My project (name, id) is (%s, %d)\n", pp->pj_name, pp->pj_projid);
Previous Next

  Published under the terms fo the Public Documentation License Version 1.01. Design by Interspire