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 <stdio.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 91 of file net_getname.c.


Function Documentation

char* rsbac_get_net_family_name char *  name,
u_int  value
 

Definition at line 168 of file net_getname.c.

References AF_MAX, net_family_list, and NULL.

Referenced by get_target_name().

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

int rsbac_get_net_family_nr const char *  name  ) 
 

Definition at line 181 of file net_getname.c.

References AF_MAX, and net_family_list.

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

char* rsbac_get_net_protocol_name char *  name,
u_int  value
 

Definition at line 203 of file net_getname.c.

References proto_desc_t::nr, NULL, and RSBAC_NET_PROTO_MAX.

Referenced by get_target_name().

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

int rsbac_get_net_protocol_nr const char *  name  ) 
 

Definition at line 228 of file net_getname.c.

References proto_desc_t::nr, and RSBAC_NET_PROTO_MAX.

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

char* rsbac_get_net_temp_syscall_name char *  name,
enum rsbac_net_temp_syscall_t  value
 

Definition at line 133 of file net_getname.c.

References net_temp_syscall_list, NTS_none, and NULL.

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

enum rsbac_net_temp_syscall_t rsbac_get_net_temp_syscall_nr const char *  name  ) 
 

Definition at line 146 of file net_getname.c.

References net_temp_syscall_list, and NTS_none.

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

char* rsbac_get_net_type_name char *  name,
u_int  value
 

Definition at line 250 of file net_getname.c.

References NULL, rsbac_net_type_list, and RSBAC_NET_TYPE_MAX.

Referenced by get_target_name().

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

int rsbac_get_net_type_nr const char *  name  ) 
 

Definition at line 263 of file net_getname.c.

References rsbac_net_type_list, and RSBAC_NET_TYPE_MAX.

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


Variable Documentation

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

Definition at line 51 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 93 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 26 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 113 of file net_getname.c.

Referenced by rsbac_get_net_type_name(), and rsbac_get_net_type_nr().


Generated on Sun May 21 14:31:07 2006 for RSBAC by  doxygen 1.4.2