title: multiple search key for binary search tree in linux C
body: <p>I define a binary tree as a search table. The tree is a linked list binary tree, the node is like</p>
  
  <pre><code>typedef struct node{
      int key;
      char *buf;
      ...
  }node_t;
  </code></pre>
  
  <p>typedef table_t node_t *;
  so I have functions like </p>
  
  <pre><code>  insert(table_t table, node_t node)
    search(table_t table, node_t node)
  </code></pre>
  
  <p>now I have multiple keys, like</p>
  
  <pre><code>typedef struct node{
      int key1;
      int key2;
      char *buf;
      ...
  }node_t;
  </code></pre>
  
  <p>and I want to have functions like:</p>
  
  <pre><code>  search_by_key1(table_t table, node_t node, int key1)
    search_by_key2(table_t table, node_t node, int key2)
  </code></pre>
  
  <p>indeed, it is  like a database, I can search any keys for an item.</p>
  
  <p>are there any source code examples? I'm using linux C
  thanks!</p>