Does my system not support this constant?
code:
Code:
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <errno.h>
#include <stdlib.h>

int main()
{
int sock = socket(AF_LOCAL, SOCK_STREAM, 0);
	if(sock == -1)
	   printf("Error\n");

    char *name;
	name="ccmni0";
	if( (setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, name, 6)) < 0)
	   printf("SO_BINDTODEVICE error\n");
	char *arr[7];
	int ss = 7;
	ret = getsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, &arr, &ss);
	if(ret==0)
	{
		printf("SO_BINDTODEVICE: %s\n", arr);
	}
	else
	{
		if(errno==EBADF)
            printf("The argument sockfd is not a valid file descriptor.\n");
		else if(errno==EFAULT)
		    printf("The address pointed to by optval is not in a valid part of.the process address space.  For getsockopt(), this error may also be returned if optlen is not in a valid part of the process address space.\n");
		else if(errno==EINVAL)
		    printf("optlen invalid in setsockopt().  In some cases this error.can also occur for an invalid value in optval (e.g., for the IP_ADD_MEMBERSHIP option described in ip(7)).\n");
		else if(errno==ENOPROTOOPT)
		    printf("The option is unknown at the level indicated.\n");
		else if(errno==ENOTSOCK)
		    printf("The file descriptor sockfd does not refer to a socket.\n");
}
I write the program from the phone and therefore my internet interface is called ccmni0. Why can not I access the variable A and write the value there with the setsockopt command can I? This example is working and taken from the documentation, you can check at yourself, there is nothing to correct it.