#define SET_CSR(endpoint, flags) {\ volatileunsignedintreg;\ reg=AT91C_BASE_UDP->UDP_CSR[endpoint];\ reg|=REG_NO_EFFECT_1_ALL;\ reg|=(flags);\ AT91C_BASE_UDP->UDP_CSR[endpoint]=reg;\ while((AT91C_BASE_UDP->UDP_CSR[endpoint]&(flags))!=(flags));\ }