net_getname.c File Reference

#include <rsbac/types.h>
#include <rsbac/getname.h>
#include <rsbac/net_getname.h>
#include <rsbac/helpers.h>
#include <rsbac/error.h>
#include <linux/socket.h>
#include <string.h>

Go to the source code of this file.

Defines

#define NR_PROTO   18

Functions

char * rsbac_get_net_temp_syscall_name (char *name, enum rsbac_net_temp_syscall_t value)
enum rsbac_net_temp_syscall_t rsbac_get_net_temp_syscall_nr (const char *name)
char * rsbac_get_net_family_name (char *name, u_int value)
int rsbac_get_net_family_nr (const char *name)
char * rsbac_get_net_protocol_name (char *name, u_int value)
int rsbac_get_net_protocol_nr (const char *name)
char * rsbac_get_net_type_name (char *name, u_int value)
int rsbac_get_net_type_nr (const char *name)

Variables

static char net_temp_syscall_list [NTS_none+1][19]
static char net_family_list [AF_MAX+1][19]
static struct proto_desc_t net_protocol_list [NR_PROTO]
static char rsbac_net_type_list [RSBAC_NET_TYPE_MAX+1][19]


Define Documentation

#define NR_PROTO   18
 

Definition at line 90 of file net_getname.c.


Function Documentation

char* rsbac_get_net_family_name char *  name,
u_int  value
 

Definition at line 167 of file net_getname.c.

References AF_MAX, net_family_list, and NULL.

Referenced by get_target_name().

00169   {
00170     if(!name)
00171       return(NULL);
00172     if(value > AF_MAX)
00173       strcpy(name, "ERROR!");
00174     else
00175       strcpy(name, net_family_list[value]);
00176     return(name);
00177   };

int rsbac_get_net_family_nr const char *  name  ) 
 

Definition at line 180 of file net_getname.c.

References AF_MAX, and net_family_list.

00181   {
00182     int i;
00183 
00184     if(!name)
00185       return(AF_MAX);
00186     for (i = 0; i < AF_MAX; i++)
00187       {
00188         if (!strcmp(name, net_family_list[i]))
00189           {
00190             return(i);
00191           }
00192       }
00193     return(AF_MAX);
00194   };

char* rsbac_get_net_protocol_name char *  name,
u_int  value
 

Definition at line 202 of file net_getname.c.

References proto_desc_t::nr, NULL, and RSBAC_NET_PROTO_MAX.

Referenced by get_target_name().

00204   {
00205     int i;
00206 
00207     if(!name)
00208       return(NULL);
00209     if(value >= RSBAC_NET_PROTO_MAX)
00210       strcpy(name, "ERROR!");
00211     else
00212       {
00213         for (i = 0; i < NR_PROTO; i++)
00214           {
00215             if (net_protocol_list[i].nr == value)
00216               {
00217                 strcpy(name, net_protocol_list[i].name);
00218                 return name;
00219               }
00220           }
00221         sprintf(name, "%u", value);
00222       }
00223     return(name);
00224   };

int rsbac_get_net_protocol_nr const char *  name  ) 
 

Definition at line 227 of file net_getname.c.

References proto_desc_t::nr, and RSBAC_NET_PROTO_MAX.

00228   {
00229     int i;
00230 
00231     if(!name)
00232       return(RSBAC_NET_PROTO_MAX);
00233     for (i = 0; i < NR_PROTO; i++)
00234       {
00235         if (!strcmp(name, net_protocol_list[i].name))
00236           {
00237             return(net_protocol_list[i].nr);
00238           }
00239       }
00240     return(RSBAC_NET_PROTO_MAX);
00241   };

char* rsbac_get_net_temp_syscall_name char *  name,
enum rsbac_net_temp_syscall_t  value
 

Definition at line 132 of file net_getname.c.

References net_temp_syscall_list, NTS_none, and NULL.

00134   {
00135     if(!name)
00136       return(NULL);
00137     if(value > NTS_none)
00138       strcpy(name, "ERROR!");
00139     else
00140       strcpy(name, net_temp_syscall_list[value]);
00141     return(name);
00142   };

enum rsbac_net_temp_syscall_t rsbac_get_net_temp_syscall_nr const char *  name  ) 
 

Definition at line 145 of file net_getname.c.

References net_temp_syscall_list, and NTS_none.

00146   {
00147     enum  rsbac_net_temp_syscall_t i;
00148 
00149     if(!name)
00150       return(NTS_none);
00151     for (i = 0; i < NTS_none; i++)
00152       {
00153         if (!strcmp(name, net_temp_syscall_list[i]))
00154           {
00155             return(i);
00156           }
00157       }
00158     return(NTS_none);
00159   };

char* rsbac_get_net_type_name char *  name,
u_int  value
 

Definition at line 249 of file net_getname.c.

References NULL, rsbac_net_type_list, and RSBAC_NET_TYPE_MAX.

Referenced by get_target_name().

00251   {
00252     if(!name)
00253       return(NULL);
00254     if(value > RSBAC_NET_TYPE_MAX)
00255       strcpy(name, "ERROR!");
00256     else
00257       strcpy(name, rsbac_net_type_list[value]);
00258     return(name);
00259   };

int rsbac_get_net_type_nr const char *  name  ) 
 

Definition at line 262 of file net_getname.c.

References rsbac_net_type_list, and RSBAC_NET_TYPE_MAX.

00263   {
00264     int i;
00265 
00266     if(!name)
00267       return(RSBAC_NET_TYPE_MAX);
00268     for (i = 0; i < RSBAC_NET_TYPE_MAX; i++)
00269       {
00270         if (!strcmp(name, rsbac_net_type_list[i]))
00271           {
00272             return(i);
00273           }
00274       }
00275     return(RSBAC_NET_TYPE_MAX);
00276   };


Variable Documentation

char net_family_list[AF_MAX+1][19] [static]
 

Definition at line 50 of file net_getname.c.

Referenced by rsbac_get_net_family_name(), and rsbac_get_net_family_nr().

struct proto_desc_t net_protocol_list[NR_PROTO] [static]
 

Initial value:

 {
                      {"ANY", 0},       
                      {"ICMP", 1},      
                      {"IGMP", 2},      
                      {"IPIP", 4},      
                      {"TCP", 6},       
                      {"EGP", 8},       
                      {"PUP", 12},      
                      {"UDP", 17},      
                      {"IDP", 22},      
                      {"RSVP", 46},     
                      {"GRE", 47},      
                      {"IPV6", 41},     
                      {"PIM", 103},     
                      {"ESP", 50},      
                      {"AH", 51},       
                      {"COMP", 108},    
                      {"RAW", 255},     
                      {"MAX", RSBAC_NET_PROTO_MAX} }

Definition at line 92 of file net_getname.c.

char net_temp_syscall_list[NTS_none+1][19] [static]
 

Initial value:

 {
                          "new_template",
                          "copy_template",
                          "delete_template",
                          "check_id",
                          "get_address",
                          "get_address_family",
                          "get_valid_len",
                          "get_type",
                          "get_protocol",
                          "get_netdev",
                          "get_min_port",
                          "get_max_port",
                          "get_name",
                          "set_address",
                          "set_address_family",
                          "set_valid_len",
                          "set_type",
                          "set_protocol",
                          "set_netdev",
                          "set_min_port",
                          "set_max_port",
                          "set_name",
                          "none" }

Definition at line 25 of file net_getname.c.

Referenced by rsbac_get_net_temp_syscall_name(), and rsbac_get_net_temp_syscall_nr().

char rsbac_net_type_list[RSBAC_NET_TYPE_MAX+1][19] [static]
 

Initial value:

 {
                      "ANY",
                      "STREAM",         
                      "DGRAM",          
                      "RAW",            
                      "RDM",            
                      "SEQPACKET",      
                      "(undefined)",    
                      "(undefined)",    
                      "(undefined)",    
                      "(undefined)",    
                      "PACKET",         
                                        
                                        
                                        
                                        
                      "MAX" }

Definition at line 112 of file net_getname.c.

Referenced by rsbac_get_net_type_name(), and rsbac_get_net_type_nr().


Generated on Thu Sep 22 16:42:32 2005 for RSBAC by  doxygen 1.4.2