변수 이름을 사용하여/sys 아래에 속성 파일을 만들 수 있습니까? 예 :변수 이름을 사용하여/sys 속성을 만드는 방법
char *variable_name = foo;
/* Create an attribute file foo */
struct kobj_attribute test = __ATTR(variable_name,0660,_show,_store);
변수 이름을 사용하여/sys 아래에 속성 파일을 만들 수 있습니까? 예 :변수 이름을 사용하여/sys 속성을 만드는 방법
char *variable_name = foo;
/* Create an attribute file foo */
struct kobj_attribute test = __ATTR(variable_name,0660,_show,_store);
커널 개발에 익숙하지 않습니다. 그러나 : 당신이 이것을한다면 :
find /sys -type f -name '*1*'
당신은 다른 코드가 당신이 찾고있는 것을하고있는 몇 가지 예를 발견해야합니다. 그래서, 저는 그것들을 어떻게 사용하는지 예제와 모양으로 만 붙잡을 것입니다. 한 가지 예는 기계 체크 예외 코드 수 :
[...]
/sys/devices/system/machinecheck/machinecheck0/bank1
/sys/devices/system/machinecheck/machinecheck1/bank1
/sys/devices/system/machinecheck/machinecheck2/bank1
/sys/devices/system/machinecheck/machinecheck3/bank1
/sys/devices/system/machinecheck/machinecheck4/bank1
/sys/devices/system/machinecheck/machinecheck5/bank1
[...]
$ ls /sys/devices/system/machinecheck/machinecheck0/bank*
/sys/devices/system/machinecheck/machinecheck0/bank0
/sys/devices/system/machinecheck/machinecheck0/bank1
/sys/devices/system/machinecheck/machinecheck0/bank2
/sys/devices/system/machinecheck/machinecheck0/bank3
/sys/devices/system/machinecheck/machinecheck0/bank4
/sys/devices/system/machinecheck/machinecheck0/bank5
/sys/devices/system/machinecheck/machinecheck0/bank6
어떤 경우에, 당신이 (즉 kobj_attribute 자신을 구조체 초기화)이 대한 __ATTR 매크로를 다시 구현해야 할 것 같다.
매크로 __ATTR을 사용하면 변수를 문자열화할 수 있습니다. sysfs.h
__stringify 매크로에서 봐입니다
#define __stringify_1(x...) #x
#define __stringify(x...) __stringify_1(x)
는/SYS
에서 속성 파일을 만드는 방법의 예를 들어 리눅스 커널 트리 아래 샘플/kobject/kobject-example.c 참조
나는 정말로 그것을 얻지 못하기 때문에 당신이 실제로 성취하고자하는 것을 좀더 자세히 설명해 주어야한다. –