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

📄 prread.c

📁 unix 下用pro*c tuxedo 开发的东西
💻 C
字号:
/****************************************************************
 *                                                              *
 *  IBM CONFIDENTIAL                                            *
 *                                                              *
 *  FILE NAME       = udf_s1033.c                               *
 *  COMPONENT NAME  = udf_s1033                                 *
 *  PRODUCT NAME    = Captial Airport Infomation Managment      *
 *                    System                                    *
 *  STATUS          = PRODUCTION VERSION                        *
 *  FUMCTIONAL DESCRIPTION= Read network config file            *
 *  OPERATING SYSTEM= AIX UNIX V3.1                             *
 *                                                              *
 *  CHANGE ACTIVITY                                             *
 *  DATE     PRGMR.       VERSION    PTM#    DESCRIPTION        *
 *  ==========================================================  *
****************************************************************/

#include <stdio.h>
#include <string.h>
#include "prread.h"

extern char  udp_send_port[51];		/* define in udp_send.c */
extern char  udp_bind_port[51];		/* define in udp_send.c */
extern char  nets[50][51];		/* define in udp_send.c */
extern int   totalnet;			/* define in udp_send.c */

void c_strupr(char *str);
  
/****************************************************************
                                                                 
    FUMCTION   DESCRIPTION: Convert lowercase letters in string
                            str to uppercase

    PATAMETERS:     
      INPUT PATAMENTERS
        str : pointer to string to be converted 
       
    RETURN CODES : void                                   

    FUNCTIONS CALLED: readprofile()

***************************************************************/
void c_strupr(char *str) 
{
    int i;
    int len;
    len = strlen(str);

    for (i = 0; i < len; i++)
    {
        if ((*str <= 'z') && (*str >='a'))
            *str = (*str + ('A'-'a'));
        str++;
    }
}

/****************************************************************
                                                                 
    FUMCTION   DESCRIPTION: read net config file from 
                            readprofile()

    PATAMETERS:     
      INPUT PATAMENTERS
        filename : network config file name
 
    RETURN CODES                                     
        1 : success
       -1 : fail

    FUNCTIONS CALLED: ReadNetCfgFile()  
                                                                 
***************************************************************/
short readprofile(char * filename)
{
    char  portname[51];
    char  portnumber[51];
    char  sectionname[51];
    char  netname[51];
    char  netaddress[51];
    char  line[129];
    int	  i;
    FILE  * fn;


    if ((fn=fopen(filename,"r"))==NULL)
	return -1;
    udp_send_port[0]='\0';
    udp_bind_port[0]='\0';

    while (feof(fn)==0)
    {
        if (fscanf(fn,"[%[^]]]\n",sectionname)<1)
        {
	    fgets(line,128,fn);
	    continue;
	}
        c_strupr(sectionname);
	if (strncmp(sectionname,"PORT",4)==0)
	{
	    if (fscanf(fn,"%[^=]=%s\n",portname,portnumber)<0)
		return -1;

            c_strupr(portname);
	    if (strncmp(portname, "UDP_SEND_PORT",13)==0)
		strcpy(udp_send_port,portnumber);
	    else if (strncmp(portname, "UDP_BIND_PORT",13)==0)
		strcpy(udp_bind_port,portnumber);
	    else	
		return -1;

	    if (fscanf(fn,"%[^=]=%s\n",portname,portnumber)<2)
		return -1;
	    c_strupr(portname);
	    if (strncmp(portname, "UDP_SEND_PORT",13)==0)
		strcpy(udp_send_port,portnumber);
	    else if (strncmp(portname, "UDP_BIND_PORT",13)==0)
		strcpy(udp_bind_port,portnumber);
            else	
		return -1;

	    if (strlen(udp_send_port)<1 || strlen(udp_bind_port)<1)
		return -1;
                /*printf("%s  %s",udp_send_port,udp_bind_port);*/
	    break;
	}
	continue;
    }
    i = 0;
    fseek(fn,0,0);
    while (feof(fn)==0)
    {
        if (fscanf(fn,"\n[%[^]]]",sectionname)!=1)
	{
	    fgets(line,128,fn);
	    continue;
	}
	c_strupr(sectionname);
	if (strncmp(sectionname,"NET",3)==0)
	{
	    while (fscanf(fn,"\n%[^=]=%s",netname,netaddress)==2)
	    {
                if(netname[0]=='[')
                   break; 
		strcpy(nets[i],netaddress);
                /* printf("%s",nets[i]);*/
		i++;
		totalnet=i;
		if (i>=50)
		return -1;
	    }	   
	    if (strlen(nets[0])<1)
		return -1;
	    break;
	}
	continue;
    }
    fclose(fn);
    return 1;
}     

⌨️ 快捷键说明

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