1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 */ 25 26 #include "files_common.h" 27 #include <user_attr.h> 28 #include <string.h> 29 30 /* 31 * files/getuserattr.c -- 32 * "files" backend for nsswitch "user_attr" database 33 */ 34 35 static nss_status_t 36 getbyname(files_backend_ptr_t be, void *a) 37 { 38 nss_XbyY_args_t *argp = (nss_XbyY_args_t *)a; 39 40 return (_nss_files_XY_all(be, argp, 1, argp->key.name, 41 _nss_files_check_name_colon)); 42 } 43 44 static files_backend_op_t userattr_ops[] = { 45 _nss_files_destr, 46 _nss_files_endent, 47 _nss_files_setent, 48 _nss_files_getent_netdb, 49 getbyname 50 }; 51 52 /*ARGSUSED*/ 53 nss_backend_t * 54 _nss_files_user_attr_constr(const char *dummy1, 55 const char *dummy2, 56 const char *dummy3, 57 const char *dummy4, 58 const char *dummy5) 59 { 60 return (_nss_files_constr(userattr_ops, 61 sizeof (userattr_ops) / sizeof (userattr_ops[0]), 62 USERATTR_FILENAME, 63 NSS_LINELEN_USERATTR, 64 NULL)); 65 } 66