Исправленный клиентский код.

Исправил в соответствии с твоими замечаниями. 
1) Добавил строки в Makefile. Проект полностью компилируется удачно.
2) В  crtlib/include/error.h,  crtlib/include/error.с добавил новые коды ошибок
3) Все-таки мне кажется, нужно еще отсылать еще и obj_id, ведь в ds_packet это указатель. Поэтому я сделал три send(). Правильно это или нет, выяснится после того как я сделаю парсинг пакетов. 

struct ds_packet давай переименуем в struct ds_cmd. потому что у нас это не пакеты же , а пересылаемая команда с данными на сервер.
struct ds_cmd {
      int cmd;
      struct ds_obj_id obj_id;
      int                      error;
      uint64_t             data_size;
      uint64_t             data_off;
      char                   data[1]; /* after data_off the data placed. */
};