MES3.0はLinuxの下位互換性であり、MES3.0のユーザープログラムは原則としてLinuxでも同じソースコードで動作します。
以下、MES3.0で動作確認されたLinuxとソースコード互換のインターフェース起動の例です。
ネットワークインターフェースを起動し、IPアドレスとネットマスクを設定し、起動されたインターフェースのMACアドレスを表示します。

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <net/if.h>

int main(int argc, char **argv) {
	int			sk, ret;
	struct ifreq		ifr;
	struct sockaddr_in	*s_in;

	if(argc < 4) {
		fprintf(stderr, "Usage: %s dev ipaddr netmask\n", argv[0]);
		return -1;
	}

	sk = socket(AF_INET, SOCK_DGRAM, 0);

	strncpy(ifr.ifr_name, argv[1], IFNAMSIZ-1);
	ret = ioctl(sk, SIOCGIFFLAGS, &ifr);
	if(ret == -1) {
		perror("error");
		return -1;
	}
	ifr.ifr_flags |= IFF_UP;
	ioctl(sk, SIOCSIFFLAGS, &ifr);
	s_in = (struct sockaddr_in *)&ifr.ifr_addr;
	s_in->sin_family = AF_INET;
	s_in->sin_addr.s_addr = inet_addr(argv[2]);
	ioctl(sk, SIOCSIFADDR, &ifr);
	s_in->sin_addr.s_addr = inet_addr(argv[3]);
	ioctl(sk, SIOCSIFNETMASK, &ifr);

	ioctl(sk, SIOCGIFHWADDR, &ifr);
	printf("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
		(unsigned char)ifr.ifr_hwaddr.sa_data[0],
		(unsigned char)ifr.ifr_hwaddr.sa_data[1],
		(unsigned char)ifr.ifr_hwaddr.sa_data[2],
		(unsigned char)ifr.ifr_hwaddr.sa_data[3],
		(unsigned char)ifr.ifr_hwaddr.sa_data[4],
		(unsigned char)ifr.ifr_hwaddr.sa_data[5]);

	close(sk);
	return 0;
}