17c478bd9Sstevel@tonic-gate /* 27c478bd9Sstevel@tonic-gate * CDDL HEADER START 37c478bd9Sstevel@tonic-gate * 47c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*cb5caa98Sdjl * Common Development and Distribution License (the "License"). 6*cb5caa98Sdjl * You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate * 87c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate * and limitations under the License. 127c478bd9Sstevel@tonic-gate * 137c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate * 197c478bd9Sstevel@tonic-gate * CDDL HEADER END 207c478bd9Sstevel@tonic-gate */ 217c478bd9Sstevel@tonic-gate /* 22*cb5caa98Sdjl * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 23*cb5caa98Sdjl * Use is subject to license terms. 247c478bd9Sstevel@tonic-gate */ 257c478bd9Sstevel@tonic-gate 267c478bd9Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 277c478bd9Sstevel@tonic-gate 287c478bd9Sstevel@tonic-gate #include <stdio.h> 297c478bd9Sstevel@tonic-gate #include <project.h> 307c478bd9Sstevel@tonic-gate #include "nis_common.h" 317c478bd9Sstevel@tonic-gate #include <string.h> 327c478bd9Sstevel@tonic-gate 337c478bd9Sstevel@tonic-gate static nss_status_t 347c478bd9Sstevel@tonic-gate getbyname(nis_backend_ptr_t be, void *a) { 357c478bd9Sstevel@tonic-gate nss_XbyY_args_t *argp = (nss_XbyY_args_t *)a; 367c478bd9Sstevel@tonic-gate return (_nss_nis_lookup(be, argp, 0, "project.byname", 377c478bd9Sstevel@tonic-gate argp->key.name, 0)); 387c478bd9Sstevel@tonic-gate } 397c478bd9Sstevel@tonic-gate 407c478bd9Sstevel@tonic-gate static nss_status_t 417c478bd9Sstevel@tonic-gate getbyid(nis_backend_ptr_t be, void *a) { 427c478bd9Sstevel@tonic-gate char projstr[PROJNAME_MAX]; 437c478bd9Sstevel@tonic-gate nss_XbyY_args_t *argp = (nss_XbyY_args_t *)a; 44*cb5caa98Sdjl (void) snprintf(projstr, PROJNAME_MAX, "%ld", argp->key.projid); 457c478bd9Sstevel@tonic-gate return (_nss_nis_lookup(be, argp, 0, "project.byprojid", projstr, 0)); 467c478bd9Sstevel@tonic-gate } 477c478bd9Sstevel@tonic-gate 487c478bd9Sstevel@tonic-gate static nis_backend_op_t project_ops[] = { 497c478bd9Sstevel@tonic-gate _nss_nis_destr, 507c478bd9Sstevel@tonic-gate _nss_nis_endent, 517c478bd9Sstevel@tonic-gate _nss_nis_setent, 527c478bd9Sstevel@tonic-gate _nss_nis_getent_rigid, 537c478bd9Sstevel@tonic-gate getbyname, 547c478bd9Sstevel@tonic-gate getbyid 557c478bd9Sstevel@tonic-gate }; 567c478bd9Sstevel@tonic-gate 577c478bd9Sstevel@tonic-gate /*ARGSUSED*/ 587c478bd9Sstevel@tonic-gate nss_backend_t * 597c478bd9Sstevel@tonic-gate _nss_nis_project_constr(dummy1, dummy2, dummy3) 607c478bd9Sstevel@tonic-gate const char *dummy1, *dummy2, *dummy3; 617c478bd9Sstevel@tonic-gate { 627c478bd9Sstevel@tonic-gate return (_nss_nis_constr(project_ops, 637c478bd9Sstevel@tonic-gate sizeof (project_ops) / sizeof (project_ops[0]), 647c478bd9Sstevel@tonic-gate "project.byname")); 657c478bd9Sstevel@tonic-gate } 66