char * id_type_2_str(int type) { assert(type >= 0 && type < ARRSZ(id_type_desc)); return id_type_desc[type]; }
void var_copy(struct variable *dst, struct variable *src) { int types[] = {VAR_BIGNUM, VAR_OCTSTRING, VAR_STRING}; int i; assert(dst != NULL && src != NULL); dst->type = 0; for (i = 0; i < ARRSZ(types); i++) { if ((src->type & types[i]) == 0) continue; convert_value(dst, types[i], src, types[i]); dst->type |= types[i]; } DEBUG(LOG_VERBOSE, "after copy dst types %.4x\n", dst->type); }
{ { AVANTA_LP_CUSTOMER_MPP0_7, AVANTA_LP_CUSTOMER_MPP8_15, AVANTA_LP_CUSTOMER_MPP16_23, AVANTA_LP_CUSTOMER_MPP24_31, AVANTA_LP_CUSTOMER_MPP32_39, AVANTA_LP_CUSTOMER_MPP40_47, AVANTA_LP_CUSTOMER_MPP48_55, AVANTA_LP_CUSTOMER_MPP56_63, AVANTA_LP_CUSTOMER_MPP64_67, } } }; MV_BOARD_INFO avanta_lp_customer_board_0_info = { .boardName = "AVANTA-LP-Customer-Board-0", .numBoardMppTypeValue = ARRSZ(avanta_lp_customer_board_0_InfoBoardModTypeInfo), .pBoardModTypeValue = avanta_lp_customer_board_0_InfoBoardModTypeInfo, .pBoardMppConfigValue = avanta_lp_customer_board_0_InfoBoardMppConfigValue, .intsGppMaskLow = 0, .intsGppMaskMid = 0, .intsGppMaskHigh = 0, .numBoardDeviceIf = ARRSZ(avanta_lp_customer_board_0_InfoBoardDeCsInfo), .pDevCsInfo = avanta_lp_customer_board_0_InfoBoardDeCsInfo, .numBoardTwsiDev = ARRSZ(avanta_lp_customer_board_0_InfoBoardTwsiDev), .pBoardTwsiDev = avanta_lp_customer_board_0_InfoBoardTwsiDev, .numBoardMacInfo = ARRSZ(avanta_lp_customer_board_0_InfoBoardMacInfo), .pBoardMacInfo = avanta_lp_customer_board_0_InfoBoardMacInfo, .numBoardGppInfo = 0, .pBoardGppInfo = 0, .activeLedsNumber = 0, .pLedGppPin = NULL,
int main(int argc, char *argv[]) { struct memory_buffer mb = {{0, 0, 0}, NULL}; struct file_buffer fb = {{0, 0, 0}, -1}; struct pollfd pfds[2] = {{STDIN_FILENO, POLLIN, 0}, {-1, POLLOUT, 0}}; int flags; char *mem; struct options opts = parse_options(argc, argv); mem = malloc(opts.memory); if(mem == NULL) { fprintf(stderr, "Could not allocate requested memory\n"); exit(EXIT_FAILURE); } mb.data = mem; mb.buffer.size = opts.memory; fb.buffer.size = opts.filesize; flags = fcntl(STDOUT_FILENO, F_GETFL); if(flags == -1) { perror("fcntl"); exit(EXIT_FAILURE); } flags = fcntl(STDOUT_FILENO, F_SETFL, flags | O_NONBLOCK); if(flags == -1) { perror("fcntl"); exit(EXIT_FAILURE); } fb.fd = open(opts.filename, O_RDWR); if(fb.fd == -1) { perror("open"); exit(EXIT_FAILURE); } do { int n = poll(pfds, 2, -1); if(n == -1) { perror("poll"); exit(EXIT_FAILURE); } else if(pfds[1].revents & POLLOUT) { if(buffer_data_available(&mb.buffer)) { int w; char *offset = mb.data + buffer_consume_at(&mb.buffer); int towrite = buffer_data_available(&mb.buffer); while((w = write(STDOUT_FILENO, offset, towrite)) == -1 && errno == EAGAIN) { towrite >>= 1; } if(w == -1) { perror("write"); exit(EXIT_FAILURE); } mb.buffer.consumed += w; if(w) { pfds[0].fd = pfds[0].fd == -2 ? -2 : 0; } } else if(buffer_data_available(&fb.buffer)) { int toread = ARRSZ(buf) < buffer_data_available(&fb.buffer) ? ARRSZ(buf) : buffer_data_available(&fb.buffer); int w = lseek(fb.fd, buffer_consume_at(&fb.buffer), SEEK_SET); int r = read(fb.fd, buf, toread); if(r == -1) { perror("lseek"); exit(EXIT_FAILURE); } if(r == -1) { perror("read"); exit(EXIT_FAILURE); } while((w = write(STDOUT_FILENO, buf, r)) == -1 && errno == EAGAIN) { r >>= 1; } if(w == -1) { perror("write"); exit(EXIT_FAILURE); } fb.buffer.consumed += w; if(w) { pfds[0].fd = pfds[0].fd == -2 ? -2 : 0; } }
MV_SERDES_CFG db88f78XX0InfoBoardSerdesConfigValue[] = { /* Z1B */ {MV_TRUE, 0x32221111, 0x11111111, PEX_BUS_MODE_X1, PEX_BUS_DISABLED,PEX_BUS_MODE_X4, PEX_BUS_MODE_X4, 0x00000030}, /* Default */ {MV_TRUE, 0x31211111, 0x11111111, PEX_BUS_MODE_X1, PEX_BUS_MODE_X1,PEX_BUS_MODE_X4, PEX_BUS_MODE_X4, 0x00000030}, /* PEX module */ /* Z1A */ {MV_TRUE, 0x32220000, 0x00000000, PEX_BUS_DISABLED, PEX_BUS_DISABLED,PEX_BUS_DISABLED, PEX_BUS_DISABLED, 0x00000030}, /* Default - Z1A */ {MV_TRUE, 0x31210000, 0x00000000, PEX_BUS_DISABLED, PEX_BUS_MODE_X1,PEX_BUS_DISABLED, PEX_BUS_DISABLED, 0x00000030} /* PEX module - Z1A */ }; MV_BOARD_TDM_INFO db88f78XX0Tdm880[] = { {1}, {2} }; MV_BOARD_TDM_INFO db88f78XX0Tdm792[] = { {1}, {2}, {3}, {4}, {6}, {7} }; MV_BOARD_TDM_INFO db88f78XX0Tdm3215[] = { {1} }; MV_BOARD_INFO db88f78XX0Info = { .boardName = "DB-78460-BP", .numBoardMppTypeValue = ARRSZ(db88f78XX0InfoBoardModTypeInfo), .pBoardModTypeValue = db88f78XX0InfoBoardModTypeInfo, .numBoardMppConfigValue = ARRSZ(db88f78XX0InfoBoardMppConfigValue), .pBoardMppConfigValue = db88f78XX0InfoBoardMppConfigValue, .numBoardSerdesConfigValue = ARRSZ(db88f78XX0InfoBoardSerdesConfigValue), .pBoardSerdesConfigValue = db88f78XX0InfoBoardSerdesConfigValue, .intsGppMaskLow = 0, .intsGppMaskMid = 0, .intsGppMaskHigh = 0, .numBoardDeviceIf = ARRSZ(db88f78XX0InfoBoardDeCsInfo), .pDevCsInfo = db88f78XX0InfoBoardDeCsInfo, .numBoardTwsiDev = ARRSZ(db88f78XX0InfoBoardTwsiDev), .pBoardTwsiDev = db88f78XX0InfoBoardTwsiDev, .numBoardMacInfo = ARRSZ(db88f78XX0InfoBoardMacInfo), .pBoardMacInfo = db88f78XX0InfoBoardMacInfo, .numBoardGppInfo = ARRSZ(db88f78XX0InfoBoardGppInfo),
DB_88F6710_MPP40_47, DB_88F6710_MPP48_55, DB_88F6710_MPP56_63, DB_88F6710_MPP64_67, } } }; MV_BOARD_TDM_INFO db88f6710Tdm880[] = { {0} }; /* SPI Cs */ MV_BOARD_TDM_SPI_INFO db88f6710TdmSpiInfo[] = { {1} }; /* SPI controller ID */ MV_BOARD_INFO db88f6710Info = { .boardName = "DB-88F6710-BP", .enableModuleScan = MV_TRUE, .numBoardMppTypeValue = ARRSZ(db88f6710InfoBoardModTypeInfo), .pBoardModTypeValue = db88f6710InfoBoardModTypeInfo, .numBoardMppConfigValue = ARRSZ(db88f6710InfoBoardMppConfigValue), .pBoardMppConfigValue = db88f6710InfoBoardMppConfigValue, .intsGppMaskLow = BIT31, /* for Switch link interrupt */ .intsGppMaskMid = 0, .intsGppMaskHigh = 0, .numBoardDeviceIf = ARRSZ(db88f6710InfoBoardDeCsInfo), .pDevCsInfo = db88f6710InfoBoardDeCsInfo, .numBoardTwsiDev = ARRSZ(db88f6710InfoBoardTwsiDev), .pBoardTwsiDev = db88f6710InfoBoardTwsiDev, .numBoardMacInfo = ARRSZ(db88f6710InfoBoardMacInfo), .pBoardMacInfo = db88f6710InfoBoardMacInfo, .numBoardGppInfo = ARRSZ(db88f6710InfoBoardGppInfo), .pBoardGppInfo = db88f6710InfoBoardGppInfo, .activeLedsNumber = ARRSZ(db88f6710InfoBoardDebugLedIf),