int main(int argc,char** argv) { queue *p=createqueue(); if(p==NULL){ exit(EXIT_FAILURE); } else{ int i; for(i=0;i<9;i++){ element e; e.key=i*2; addqueue(p,e); } for(i=0;i<6;i++){ delqueue(p); } for(i=0;i<6;i++){ element e; e.key=i*5; addqueue(p,e); } //delnum(p,5); element e; e.key=100; insnum(p,5,e); for(i=0;i<10;i++) delqueue(p); } return 0; }
void apaddqueue ( struct airport *ap, char type ) { switch ( tolower( type ) ) { case 'l' : addqueue ( ap -> pl, ap -> pln ) ; break ; case 't' : addqueue ( ap -> pt, ap -> pln ) ; break ; } }
int access(jobqueue* k, int bank) { if(row[bank].busy == 1) { k->time = 9999999999999; //printf("busy\n"); addqueue(bank, k); if(row[bank].jsize>1) { check++; } //printf("%s\n", row[bank].rq->addr); } else { row[bank].busy = 1; if(strncmp(row[bank].rowbuffer,getrow(k->addr),4)==0) { printf("hit\n"); row[bank].jobend = k->time +154; row[bank].totalbusy += 154; return 154; } else if(strncmp(row[bank].rowbuffer, "ffff",4)==0) { printf("closed\n"); strncpy(row[bank].rowbuffer, getrow(k->addr),4); row[bank].rowbuffer[4] = '\0'; row[bank].jobend = k->time +258; row[bank].totalbusy += 258; return 258; } else { strncpy(row[bank].rowbuffer, getrow(k->addr),4); row[bank].rowbuffer[4] = '\0'; printf("miss\n"); row[bank].jobend = k->time +362; row[bank].totalbusy += 362; return 362; } } }
void pelco_rx_isr(u8 udr0) { u8 i; static uchar keyboard_data_buffer1[20]; ProUart0Rec = 0; { Isr_i = udr0; KBDRecWrongFlag = 0; if (0x00 == Isr_j) { if (0x01 == Current_Protocol) { switch (Isr_i) { case 0xff: Rec_byte_count = 0x07; Rec_byte_count_buff = 0x07; Rec_spe_byte_count_buff = 0x09; Protocol_No = PELCO_D; break; case 0xa0: Rec_byte_count = 0x08; Rec_spe_byte_count_buff = 0x0a; Rec_byte_count_buff = 0x08; Protocol_No = PELCO_P; break; case CAMERA_LINK_CMD_HEAD: Rec_byte_count = 8; Rec_spe_byte_count_buff = 0x0a; Rec_byte_count_buff = 0x08; Protocol_No = PROTOCOL_CAM_LINK; break; default: Isr_com = 0; Isr_j = 0; return; } } else { switch (Protocol_No) { case PELCO_D: if(PELCO_D_FRAME_HEADE !=Isr_i) { Isr_com = 0; Isr_j = 0; return; } break; case PELCO_P: if(PELCO_P_FRAME_HEADE !=Isr_i) { Isr_com = 0; Isr_j = 0; return; } break; default: break; } } keyboard_data_buffer1[0] = Isr_i; Isr_com = 1; Isr_j = 0x01; } else { //???????? keyboard_data_buffer1[Isr_com] = Isr_i; Isr_com++; switch (Protocol_No) { case PELCO_P: case PELCO_D: //if (0x07 == Rec_byte_count) Rec_byte_count = Rec_byte_count_buff; // break; case PROTOCOL_CAM_LINK: Rec_byte_count = Rec_byte_count_buff; // break; default: break; } if (Isr_com >= Rec_byte_count) { for (i=0x00; i<20; i++) Rec_keyboard_data_buffer[i] = keyboard_data_buffer1[i]; addqueue(20,keyboard_data_buffer1); for (i=0x00; i<20; i++) keyboard_data_buffer1[i] = 0x00; if ((0xa0 == Rec_keyboard_data_buffer[0]) && (Protocol_No == PELCO_P)) Rec_keyboard_data_buffer[1]++; if (0x80 == (0xf0 & Rec_keyboard_data_buffer[0])) { i = Rec_keyboard_data_buffer[0] << 4; i |= Rec_keyboard_data_buffer[1] & 0x0f; } else i = Rec_keyboard_data_buffer[1]; if (i == domeNo) { switch (Protocol_No) { case PELCO_P: break; case PELCO_D: break; default: break; } } Isr_com = 0x00; Isr_j = 0x00; Rec_byte_com = 0X01; rt_sem_release(uart1_sem); } } } }