First version
[people/lynusvaz/gpxe.git] / src / core / proto.c
1 #include "stddef.h"
2 #include "string.h"
3 #include "proto.h"
4
5 static struct protocol protocols[0] __protocol_start;
6 static struct protocol default_protocols[0] __default_protocol_start;
7 static struct protocol protocols_end[0] __protocol_end;
8
9 /*
10  * Identify protocol given a name.  name may be NULL, in which case
11  * the first default protocol (if any) will be used.
12  *
13  */
14 struct protocol * identify_protocol ( const char *name ) {
15         struct protocol *proto = default_protocols;
16
17         if ( name ) {
18                 for ( proto = protocols ; proto < protocols_end ; proto++ ) {
19                         if ( strcmp ( name, proto->name ) == 0 )
20                                 break;
21                 }
22         }
23
24         return proto < protocols_end ? proto : NULL;
25 }