⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bb_list.c

📁 早期freebsd实现
💻 C
字号:
/* ****************************************************************************** * * Module: bb_list.c * * Functions:  *	    bb_alist_1() - Return list of servers successfully tested against *	    bb_blist_1() - Return list of servers unsuccessfully tested against *	    bb_clist_1() - Return list of clients successfully tested against *	    bb_dlist_1() - Return list of clients unsuccessfully tested against * * ****************************************************************************** *//* ****************************************************************************** * Include Files ****************************************************************************** */#include <stdio.h>#include <rpc/rpc.h>#include "common.h"#include "protocol.h"#include "server.h"/***************************************************************************									****  bb_alist_1() - Given the identifier get the list of servers this	****  client has successfully tested against.				****									***************************************************************************/BB_list_out *bb_alist_1( p_in)  BB_list_in	*p_in;		/* The list input structure.		*/{    static BB_list_out	result;	/* The result of the list operation.	*/    int			imp_cnt;/* The number of implementations.	*/    int			i;	/* Nice loop variable name.		*/    int			j;	/* The number of vendors found.		*/    BB_row		list;	/* The list of tests in the database.	*/    BB_co_data		codata;	/* The company data returned.		*/    BB_vendor		vendors[BB_MAX_IMP];	/* Place to store output*/    result.status = BB_SUCCESS;    result.data.data_len = 0;    /*    **  If the machine being used to send this request is not one    **  of the ones owned by this client group then a password must    **  be specified.    */    if ( bb_check_ip( p_in->id) != BB_SUCCESS )    {	if ( (result.status=bb_check_passwd( p_in->id, p_in->passwd))	     != BB_SUCCESS )	{	    result.status = BB_BAD_PASSWD;	    return &result;	}    }    /*    **  Passed verification so get the data.    */    imp_cnt = bb_get_imp_cnt();    if ( bb_get_servers( p_in->id, list) != BB_SUCCESS )    {	result.status = BB_FAILURE;	return &result;    }    /*    **  For each implementation check to see if the tests have    **  been passed and if so get the company data for that index.    */    j = 0;    for( i = 0; i < imp_cnt; i++ )    {	if ( list[i] == BB_BOARD_SET )	{	    /*	    **  If can't get the company data just skip it.	    */	    if ( bb_get_codata( i, &codata) == BB_SUCCESS )	    {		vendors[j].booth = codata.booth;		strncpy( vendors[j].company, codata.company,			 BB_COMPANY_NAME_LEN);		strncpy( vendors[j].imp, codata.imp, BB_IMP_NAME_LEN);		strncpy( vendors[j].id, codata.id, BB_ID_NAME_LEN);		j++;	    }	}    }    result.data.data_len = j;    result.data.data_val = vendors;    return &result;}/***************************************************************************									****  bb_blist_1() - Given the identifier get the list of servers this	****  client has not successfully tested against.				****									***************************************************************************/BB_list_out *bb_blist_1( p_in)  BB_list_in	*p_in;		/* The list input structure.		*/{    static BB_list_out	result;	/* The result of the list operation.	*/    int			imp_cnt;/* The number of implementations.	*/    int			i;	/* Nice loop variable name.		*/    int			j;	/* The number of vendors found.		*/    BB_row		list;	/* The list of tests in the database.	*/    BB_co_data		codata;	/* The company data returned.		*/    BB_vendor		vendors[BB_MAX_IMP];	/* Place to store output*/    result.status = BB_SUCCESS;    result.data.data_len = 0;    /*    **  If the machine being used to send this request is not one    **  of the ones owned by this client group then a password must    **  be specified.    */    if ( bb_check_ip( p_in->id) != BB_SUCCESS )    {	if ( (result.status=bb_check_passwd( p_in->id, p_in->passwd))	     != BB_SUCCESS )	{	    return &result;	}    }    /*    **  Passed verification so get the data.    */    imp_cnt = bb_get_imp_cnt();    if ( bb_get_servers( p_in->id, list) != BB_SUCCESS )    {	result.status = BB_FAILURE;	return &result;    }    /*    **  For each implementation check to see if the tests have    **  been passed and if so get the company data for that index.    */    j = 0;    for( i = 0; i < imp_cnt; i++ )    {	if ( list[i] == BB_BOARD_UNSET )	{	    /*	    **  If can't get the company data just skip it.	    */	    if ( bb_get_codata( i, &codata) == BB_SUCCESS )	    {		vendors[j].booth = codata.booth;		strncpy( vendors[j].company, codata.company,			 BB_COMPANY_NAME_LEN);		strncpy( vendors[j].imp, codata.imp, BB_IMP_NAME_LEN);		strncpy( vendors[j].id, codata.id, BB_ID_NAME_LEN);		j++;	    }	}    }    result.data.data_len = j;    result.data.data_val = vendors;    return &result;}/***************************************************************************									****  bb_clist_1() - Given the identifier get the list of clients this	****  server has successfully tested against.				****									***************************************************************************/BB_list_out *bb_clist_1( p_in)  BB_list_in	*p_in;		/* The list input structure.		*/{    static BB_list_out	result;	/* The result of the list operation.	*/    int			imp_cnt;/* The number of implementations.	*/    int			i;	/* Nice loop variable name.		*/    int			j;	/* The number of vendors found.		*/    BB_row		list;	/* The list of tests in the database.	*/    BB_co_data		codata;	/* The company data returned.		*/    BB_vendor		vendors[BB_MAX_IMP];	/* Place to store output*/    result.status = BB_SUCCESS;    result.data.data_len = 0;    /*    **  If the machine being used to send this request is not one    **  of the ones owned by this client group then a password must    **  be specified.    */    if ( bb_check_ip( p_in->id) != BB_SUCCESS )    {	if ( (result.status=bb_check_passwd( p_in->id, p_in->passwd))	     != BB_SUCCESS )	{	    return &result;	}    }    /*    **  Passed verification so get the data.    */    imp_cnt = bb_get_imp_cnt();    if ( bb_get_clients( p_in->id, list) != BB_SUCCESS )    {	result.status = BB_FAILURE;	return &result;    }    /*    **  For each implementation check to see if the tests have    **  been passed and if so get the company data for that index.    */    j = 0;    for( i = 0; i < imp_cnt; i++ )    {	if ( list[i] == BB_BOARD_SET )	{	    /*	    **  If can't get the company data just skip it.	    */	    if ( bb_get_codata( i, &codata) == BB_SUCCESS )	    {		vendors[j].booth = codata.booth;		strncpy( vendors[j].company, codata.company,			 BB_COMPANY_NAME_LEN);		strncpy( vendors[j].imp, codata.imp, BB_IMP_NAME_LEN);		strncpy( vendors[j].id, codata.id, BB_ID_NAME_LEN);		j++;	    }	}    }    result.data.data_len = j;    result.data.data_val = vendors;    return &result;}/***************************************************************************									****  bb_dlist_1() - Given the identifier get the list of clients this	****  server has not successfully tested against.				****									***************************************************************************/BB_list_out *bb_dlist_1( p_in)  BB_list_in	*p_in;		/* The list input structure.		*/{    static BB_list_out	result;	/* The result of the list operation.	*/    int			imp_cnt;/* The number of implementations.	*/    int			i;	/* Nice loop variable name.		*/    int			j;	/* The number of vendors found.		*/    BB_row		list;	/* The list of tests in the database.	*/    BB_co_data		codata;	/* The company data returned.		*/    BB_vendor		vendors[BB_MAX_IMP];	/* Place to store output*/    result.status = BB_SUCCESS;    result.data.data_len = 0;    /*    **  If the machine being used to send this request is not one    **  of the ones owned by this client group then a password must    **  be specified.    */    if ( bb_check_ip( p_in->id) != BB_SUCCESS )    {	if ( (result.status=bb_check_passwd( p_in->id, p_in->passwd))	     != BB_SUCCESS )	{	    return &result;	}    }    /*    **  Passed verification so get the data.    */    imp_cnt = bb_get_imp_cnt();    if ( bb_get_clients( p_in->id, list) != BB_SUCCESS )    {	result.status = BB_FAILURE;	return &result;    }    /*    **  For each implementation check to see if the tests have    **  been passed and if so get the company data for that index.    */    j = 0;    for( i = 0; i < imp_cnt; i++ )    {	if ( list[i] == BB_BOARD_UNSET )	{	    /*	    **  If can't get the company data just skip it.	    */	    if ( bb_get_codata( i, &codata) == BB_SUCCESS )	    {		vendors[j].booth = codata.booth;		strncpy( vendors[j].company, codata.company,			 BB_COMPANY_NAME_LEN);		strncpy( vendors[j].imp, codata.imp, BB_IMP_NAME_LEN);		strncpy( vendors[j].id, codata.id, BB_ID_NAME_LEN);		j++;	    }	}    }    result.data.data_len = j;    result.data.data_val = vendors;    return &result;}

⌨️ 快捷键说明

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