rpcdname.c

来自「RTEMS (Real-Time Executive for Multiproc」· C语言 代码 · 共 81 行

C
81
字号
/* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part.  Users * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user or with the express written consent of * Sun Microsystems, Inc. * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California  94043 */#if !defined(lint) && defined(SCCSIDS)static char sccsid[] = "@(#)rpcdname.c 1.7 91/03/11 Copyr 1989 Sun Micro";#endif/* * rpcdname.c * Gets the default domain name */#include <stdlib.h>#include <unistd.h>#include <string.h>#include <rpc/rpc.h>int getdomainname(char *, size_t);#define default_domain ((char *)((struct rtems_rpc_task_variables *)rtems_rpc_task_variables)->rpcdname_default_domain)static char *get_default_domain(){	char temp[256];	if (default_domain)		return (default_domain);	if (getdomainname(temp, sizeof(temp)) < 0)		return (0);	if ((int) strlen(temp) > 0) {		default_domain = (char *)malloc((strlen(temp)+(unsigned)1));		if (default_domain == 0)			return (0);		(void) strcpy(default_domain, temp);		return (default_domain);	}	return (0);}/* * This is a wrapper for the system call getdomainname which returns a * ypclnt.h error code in the failure case.  It also checks to see that * the domain name is non-null, knowing that the null string is going to * get rejected elsewhere in the NIS client package. */int_rpc_get_default_domain(domain)	char **domain;{	if ((*domain = get_default_domain()) != 0)		return (0);	return (-1);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?