#define usb_sndbulkpipe(dev, endpoint) \ 여기에 대해서 질문

gokore의 이미지

#define usb_sndbulkpipe(dev, endpoint) \
((PIPE_BULK << 30) | __create_pipe(dev, endpoint))

1. 여기서 갑자기 \가 나오는데요?? 일반적으로 define에는 이런 것 없던 걸로 기억하는 데 이 \의 기능이 어떻게 되나요???

2. ((PIPE_BULK << 30)

PIPE_BULK를 왼쪽으로 30비트 이동시키고 있는데, 대체 이런 연산의 목적은 대체 뭔가요??

익명 사용자의 이미지

1. \ : 가독성 증가를 위한 줄바꿈 즉 한줄로 인식

2. 해당 비트를 1로 Set : 한 비트를 flag로 사용 0 off, 1 on 이런 식으로 사용

gokore의 이미지

그런데 2번째 것이 이해가 잘 되지 않네요 ㅠㅠ
어떻게 30비트 이동을 시켰는데 해당 비트가 1로 셋이 된다는 이야기인가요?