Получение версии ОС Minix
У меня есть проект для университета, в котором (помимо других) мне нужно получить версию minix os от Kernell Call. Вот к чему я пришел (с некоторой помощью):
int main (int argc, char *argv[] )
{
char M3ca1[23];
message ml;
m.m_u.m_m1.m3ca1= OS_VERSION;
char temp=_syscall(MM,69,&m);
printf("the os version is %c\n",temp);
return 0;
}
И я получаю несколько ошибок.
1 ответ
Этот код делает то, что вы просите:
#include <stdio.h>
#include<minix/config.h>
int main(int argc, char**argv) {
printf("the os version is %s.%s\n",OS_RELEASE,OS_VERSION);
return 0;
}
Если это университетский проект, я сомневаюсь, что это то, о чем вас просят. Уверены, что вас не просят реализовать новый системный вызов, который дает версию os, а затем написать небольшую программу, которая вызывает его?
******** Редактировать через много лет из-за недавнего комментария ***
Если вы хотите извлечь это из текущего тока, а не статически, вы должны взглянуть на man-страницу uname(2). uname заполнит структуру для вас всеми версиями ОС, версиями, арками и так далее.
У вас нет работающей мини-машины, чтобы собрать / проверить быструю программу для вызова и печати этой информации. Должно быть прямо вперед. Можно заменить этот абзац примером программы.