亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? corbaclient.c,v

?? Perfession Linux Programming examples
?? C,V
?? 第 1 頁 / 共 4 頁
字號:
@d1 6
a12 7
/* Include the functions needed to support non-client/server version? */
/*
  DVD Store Application Reference API Implementation
  
  This file contains definitions of functions conforming
  to the DVD Store application database APIs.
*/
a13 2
/* Prototypes -- as in dvd.h */
/* Some prototypes... */
d74 1
a74 1
	    CORBA_exception_id(&ev));
d81 1
a81 1
	    CORBA_exception_id(&ev));
d89 1
a89 1
	    CORBA_exception_id(&ev));
d97 1
a97 1
	    CORBA_exception_id(&ev));
d105 1
a105 1
	    CORBA_exception_id(&ev));
d113 1
a113 1
	    CORBA_exception_id(&ev));
d144 1
a144 1
	      CORBA_exception_id(&ev));
d154 1
a154 1
  int rc;
d165 4
a168 3
    printf("Got CORBA exception %d/%d from DVD_MEMBERSHIP_get", ev._major,
	    CORBA_exception_value(&ev));
      return (int) DVD_ERR_NOT_FOUND;
d172 1
a172 1
    return (int) DVD_ERR_NOT_FOUND;
d231 1
a231 1
	    CORBA_exception_id(&ev));
d242 1
a242 1
  int rc;
d254 1
a254 1
	    CORBA_exception_value(&ev));
d280 1
a280 1
	    CORBA_exception_value(&ev));
d309 1
a309 1
	    CORBA_exception_id(&ev));
d357 1
a357 1
	    CORBA_exception_id(&ev));
d380 1
a380 1
	    CORBA_exception_value(&ev));
d438 1
a438 1
	    CORBA_exception_id(&ev));
d448 1
a448 1
  int rc;
d461 1
a461 1
	    CORBA_exception_value(&ev));
d480 1
a480 1
	    CORBA_exception_id(&ev));
d516 1
a516 1
	      CORBA_exception_id(&ev));
d525 2
a526 2
  DVD_DISKS_dvddisks *cdisk;
  int rc;
d531 1
d534 2
a535 2
  case CORBA_NO_EXCEPTION: 
    rc = 0;
d539 1
a539 1
	    CORBA_exception_value(&ev));
d545 1
a545 2
  CORBA_exception_free(&ev); 
  if (rc != 0)   /* If we had an exception above... */
d547 1
d550 1
a550 1
  if(disk_id != cdisk->diskid)
d552 2
a553 3
  diskout->disk_id = cdisk->diskid;
  diskout->title_id = cdisk->titleid;
  CORBA_free(cdisk);
d574 1
a574 1
	    CORBA_exception_id(&ev));
d586 1
a586 1
  int rc;
d599 1
a599 1
	    CORBA_exception_value(&ev));
d618 1
a618 1
	    CORBA_exception_id(&ev));
d652 2
a653 2
    printf("Got CORBA exception %d/%d from DVD_DISKS_delete", ev._major,
	    CORBA_exception_value(&ev));
d672 4
a675 4
  DVD_MEMBERSHIP_memberidt *memberid;
  DVD_datec *daterented;
  int rc;
  DVD_RENTAL_rentdiskinfo(rental, disk_id, &memberid, daterented,
d680 1
a680 1
    *member_id = *memberid;
d686 1
a686 1
	    ev._major, CORBA_exception_value(&ev));
d713 1
a713 1
	    ev._major, CORBA_exception_value(&ev));
d739 1
a739 1
	    ev._major, CORBA_exception_value(&ev));
d762 1
a762 1
	    ev._major, CORBA_exception_value(&ev));
d788 1
a788 1
	    ev._major, CORBA_exception_value(&ev));
d822 1
a822 1
	    CORBA_exception_id(&ev));
d837 1
a837 1
	    CORBA_exception_id(&ev));
d857 1
a857 1
	    CORBA_exception_id(&ev));
d872 1
a872 1
	    CORBA_exception_id(&ev));
@


1.4
log
@Added Titling, started on Disks
@
text
@a7 18
#define LEGACY 1
#ifdef LEGACY
#include "flatfileold.h"   /* All the flat file support */
static int file_set(FILE *file, long file_position, int size, void *data);
#endif
/* Internal data structures for reservations and rentals */

typedef struct _reservation_struct {
  int member_id;
  int title_id;
  char date[9];
} dvd_reserve;

typedef struct _rental_struct {
  int disk_id;
  int member_id;
  char date[9];
} dvd_rental;
a12 1
  
a18 7
/* Implementation */

static int dvd_rental_set(int disk_id, dvd_rental *rental);
static int dvd_reserve_set(int member_id, dvd_reserve *reserve);

/* Database definitions */

a19 1

d30 94
d146 1
a146 1
      g_error("Got CORBA exception %d/%s", ev._major, 
d168 1
a168 1
    g_error("Got CORBA exception %d/%d from DVD_MEMBERSHIP_get", ev._major,
d232 1
a232 1
    g_error("Got CORBA exception %d/%s", ev._major, 
d234 2
a235 1
    return DVD_SUCCESS;
d255 1
a255 1
    g_error("Got CORBA exception %d/%d from DVD_MEMBERSHIP_delete", ev._major,
d269 1
a269 1
  int rc;
d278 2
a279 1
    return DVD_SUCCESS;
d281 1
a281 1
    g_error("Got CORBA exception %d/%d from DVD_MEMBERSHIP_delete", ev._major,
d283 2
a284 1
      return DVD_ERR_NOT_FOUND;
d289 2
a290 1
      return DVD_ERR_NOT_FOUND;
d293 2
a294 1
      return DVD_ERR_NOT_FOUND;
d297 3
d306 1
a306 1
  int *results = NULL, i;
d310 1
a310 1
    g_error("Got CORBA exception %d/%s\n", ev._major,
d312 1
a312 1
    return DVD_ERR_NOT_FOUND;
d314 1
d317 4
a320 1
  results=calloc(CList->_length, sizeof(int));
d358 1
a358 1
    g_error("Got CORBA exception %d/%s", ev._major, 
d360 1
d368 1
a368 1
  int err = DVD_SUCCESS;
d378 1
a378 1
    err = 0;
d381 1
a381 1
    g_error("Got CORBA exception %d/%d from DVD_TITLING_get", ev._major,
d383 2
a384 1
    return (int) DVD_ERR_NOT_FOUND;
d387 2
a388 1
    return (int) DVD_ERR_NOT_FOUND;
d390 3
a392 2
  if (err != 0)   /* If we had an exception above... */
    return err;
d409 1
d437 1
d439 1
a439 1
    g_error("Got CORBA exception %d/%s", ev._major, 
d441 1
d449 1
a449 1
DVD_TITLING_titlet t;
d452 1
a452 1
t = title_id;
d459 2
a460 1
    return DVD_SUCCESS;
d462 1
a462 1
    g_error("Got CORBA exception %d/%d from DVD_TITLING_delete", ev._major,
d481 1
a481 1
    g_error("Got CORBA exception %d/%s\n", ev._major,
d483 1
d517 1
a517 1
      g_error("Got CORBA exception %d/%s", ev._major, 
d525 1
a525 1
int dvd_disk_get(int disk_id, dvd_disk *disk_record_to_complete)
d527 3
a529 2
  int err = DVD_SUCCESS;
  if(disk_record_to_complete == NULL)
d531 26
a556 18

  err = file_get(disk_file, 
                 sizeof(dvd_disk) * disk_id,
                 sizeof(dvd_disk),
                 (void *) disk_record_to_complete);

  /* If we cannot get the disk there may be an error
     with the data, or the title may not exist */
  if(err != DVD_SUCCESS)
    return err;

  /* If the retrieved disk id is not as expected there
     may be an error, or the disk may be deleted */
  if(disk_record_to_complete -> disk_id == 0)
    return DVD_ERR_NOT_FOUND;
  if(disk_id != disk_record_to_complete -> disk_id)
    return DVD_ERR_BAD_MEMBER_TABLE;

d560 1
a560 1
int dvd_disk_create(dvd_disk *disk_record_to_add, int *disk_id)
d562 20
a581 30
  int err;
  dvd_disk new_disk;
  dvd_rental null_rental;

  /* Make a new disk record. See also notes in member_create.
     Ought really to check that the title_id is valid, but
     then again it can be invalidated independently anyway.
  */
  /* Take a copy of the passed member, in case it is static */
  new_disk = *disk_record_to_add;

  /* The new disk_id is the next available id */
  new_disk.disk_id = disk_count;

  /* Add the new disk to the disk file and the rentals file */
  err = dvd_disk_set(&new_disk);
  if(err != DVD_SUCCESS)
    return err;

  memset((void *) &null_rental, 0, sizeof(dvd_rental));
  null_rental.disk_id = new_disk.disk_id;
  null_rental.member_id = 0;
  err = dvd_rental_set(null_rental.disk_id, &null_rental);
  if(err != DVD_SUCCESS)
    return err;
  
  /* Update disk file state */
  *disk_id = disk_count;
  disk_count++;

d587 23
a609 8
  /* Delete a disk by setting the disk_id to zero */
  dvd_disk null_disk;
  memset((void *)&null_disk, 0, sizeof(null_disk));

  return file_set(disk_file, 
                  disk_id * sizeof(null_disk),
                  sizeof(null_disk), 
                  &null_disk);
d614 22
a635 27
  /* Search for disks of a particular title */
  dvd_disk a_disk;
  int id = 1;
  int matches = 0;
  int *results = NULL;
  int results_size = 0;
  int err; 

  *count = 0;
  while(err = dvd_disk_get(id, &a_disk),
        err == DVD_SUCCESS || err == DVD_ERR_NOT_FOUND) {
    if(err == DVD_SUCCESS && a_disk.disk_id != 0) {
      /* Valid record */
      if(title_id == a_disk.title_id) {
        /* Add a result to the list */
        /* Increase capacity if required */
        if(matches >= results_size) {
          results_size += 4;
          results = (int *)realloc(results, sizeof(int)*results_size);
          if(results == NULL)
            return DVD_ERR_NO_MEMORY;
        }
        results[matches] = a_disk.disk_id;
        matches++;
      }
    }
    id++;
d637 1
d639 2
a640 44
  *count = matches;
  return DVD_SUCCESS;
}


/*
  Rentals and Reservation Scheme

  Add another table that mirrors the disk table, but contains
  a member_id field (if rented) and a date rented.
*/

/* Helper functions */

static int dvd_rental_set(int disk_id, dvd_rental *rental)
{
  if(rental == NULL)
    return DVD_ERR_NULL_POINTER;

  return 
    file_set(rental_file, 
             sizeof(dvd_rental) * (rental -> disk_id),
             sizeof(dvd_rental),
             (void *) rental);
}

static int dvd_rental_get(int disk_id, dvd_rental *rental)
{
  int err = DVD_SUCCESS;

  if(rental == NULL)
    return DVD_ERR_NULL_POINTER;

  err = file_get(rental_file, 
                 sizeof(dvd_rental) * disk_id,
                 sizeof(dvd_rental),
                 (void *) rental);

  if(err != DVD_SUCCESS)
    return err;

  if(disk_id != rental -> disk_id)
    return DVD_ERR_BAD_RENTAL_TABLE;

a643 38
static int dvd_reserve_set(int member_id, dvd_reserve *reserve)
{
  if(reserve == NULL)
    return DVD_ERR_NULL_POINTER;

  return file_set(reserve_file, 
             sizeof(dvd_reserve) * (reserve -> member_id),
             sizeof(dvd_reserve),
             (void *) reserve);
}

static int dvd_reserve_get(int member_id, dvd_reserve *reserve)
{
  int err = DVD_SUCCESS;

  if(reserve == NULL)
    return DVD_ERR_NULL_POINTER;

  err = file_get(reserve_file, 
                 sizeof(dvd_reserve) * member_id,
                 sizeof(dvd_reserve),
                 (void *) reserve);

  if(err != DVD_SUCCESS)
    return err;

  if(member_id != reserve -> member_id)
    return DVD_ERR_BAD_RENTAL_TABLE;

  return DVD_SUCCESS;
}

/*
  To rent a single title we need to find a disk of that title
  and tell the owner which one to give the customer. BUT, we 
  must ensure that we do not have too many reservations for
  this date for that title already.
*/
d646 18
a663 46
  int count;
  char *date;
  int err;
  dvd_disk disk;
  dvd_rental rental;
  dvd_reserve reserve;
  int disk_id;

  (void) dvd_today(&date);

  /* See if there is a reservation for today, and clear it */
  err = dvd_reserve_get(member_id, &reserve);
  if(err != DVD_SUCCESS)
    return err;
  if(reserve.title_id == title_id &&
     strcmp(date, reserve.date)) {
    reserve.title_id = 0;
    dvd_reserve_set(member_id, &reserve);
  }

  /* Check that there is a copy available (including reservations) */
  err = dvd_title_available(title_id, date, &count);
  if(err != DVD_SUCCESS)
    return err;

  if(count <= 0)
    return DVD_ERR_NOT_FOUND;

  /* Add an entry to the rental table and return allocated disk id */
  for(disk_id = 1; disk_id < disk_count; disk_id++) {
    err = dvd_disk_get(disk_id, &disk);
    if(err == DVD_SUCCESS && title_id == disk.title_id) {
      /* See if this copy is already out */
      err = dvd_rental_get(disk_id, &rental);
      if(err != DVD_SUCCESS)
        return err;
      if(rental.member_id == 0) {
        rental.member_id = member_id;
        strcpy(rental.date, date);
        err = dvd_rental_set(disk_id, &rental);
        if(err != DVD_SUCCESS)
          return err;
        *disk_id_to_rent = disk_id;
        return DVD_SUCCESS;
      }
    }
d665 5
a669 1
  return DVD_ERR_NOT_FOUND;
d674 24
a697 14
  /* Lookup the disk in the rental table and return the details */
  /* The user can get the title from dvd_disk_get */
  dvd_rental rental;
  int err;
  
  err = dvd_rental_get(disk_id, &rental);
  if(err != DVD_SUCCESS)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲视频系列| 久久精品人人做人人综合| 2021国产精品久久精品| av网站免费线看精品| 亚洲国产精品一区二区www | 国产欧美日韩精品一区| 国产一区二区三区四区五区入口| 日韩一区二区电影在线| 99精品视频在线免费观看| 日日摸夜夜添夜夜添精品视频 | 91精品欧美综合在线观看最新 | 三级亚洲高清视频| 1000部国产精品成人观看| 日韩精品一区二区三区中文不卡| 狠狠网亚洲精品| 国产精品久久久久久福利一牛影视| 99久久精品一区| 国产成人福利片| 久久不见久久见中文字幕免费| 中文字幕精品—区二区四季| 精品久久久久久综合日本欧美| 国产二区国产一区在线观看| 奇米影视在线99精品| 欧美激情一区二区三区在线| 精品处破学生在线二十三| 成人激情电影免费在线观看| 国产激情视频一区二区三区欧美 | 91精品国产色综合久久不卡蜜臀| 国产一区二区三区视频在线播放| 最新不卡av在线| 国产精品麻豆一区二区| 国产欧美日韩精品一区| 亚洲国产成人自拍| 亚洲国产精品高清| 欧美国产禁国产网站cc| 欧美国产97人人爽人人喊| 国产欧美一区二区三区鸳鸯浴 | 91国产免费观看| 99v久久综合狠狠综合久久| 成人白浆超碰人人人人| 国产91富婆露脸刺激对白| 亚洲午夜激情网页| 亚洲va韩国va欧美va精品 | 国产精品你懂的在线| 国产亚洲成年网址在线观看| 国产亚洲精品久| 国产精品国产成人国产三级| 亚洲靠逼com| 国产午夜亚洲精品午夜鲁丝片| 欧美群妇大交群的观看方式| 欧美日本在线看| 欧美一级免费大片| 久久婷婷色综合| 国产精品久久久久久一区二区三区| 欧美一级二级在线观看| 欧美亚洲丝袜传媒另类| 欧美电影一区二区| 精品三级在线观看| 国产婷婷一区二区| 亚洲男同1069视频| 亚洲bdsm女犯bdsm网站| 黄一区二区三区| 91在线视频免费观看| 欧美三级一区二区| 日韩精品一区二区三区视频| 国产性天天综合网| 亚洲乱码国产乱码精品精小说| 国产亚洲污的网站| 欧美精品一区二区三区视频| 国产精品视频看| 中文字幕一区二区三区精华液| 久久久久九九视频| 洋洋av久久久久久久一区| 亚洲高清视频中文字幕| 国精品**一区二区三区在线蜜桃 | 成人免费毛片a| 欧美性生活大片视频| 日韩欧美不卡在线观看视频| 国产精品进线69影院| 午夜激情久久久| 国产成人综合亚洲网站| 欧美亚洲愉拍一区二区| 国产日韩欧美制服另类| 97精品国产露脸对白| 国产呦精品一区二区三区网站| 日本成人在线不卡视频| 成人精品视频一区二区三区 | 欧美一区永久视频免费观看| 欧美国产成人精品| 日韩激情视频网站| www.激情成人| 久久网站最新地址| 日韩影院在线观看| 91在线视频官网| 国产亚洲精品精华液| 日韩av成人高清| 色综合天天综合给合国产| 2021久久国产精品不只是精品| 国产日韩欧美亚洲| 秋霞影院一区二区| 色婷婷综合久久久久中文一区二区| 在线视频综合导航| 7777精品伊人久久久大香线蕉完整版 | 国产精品私房写真福利视频| 免费在线成人网| 在线免费观看视频一区| 国产日韩视频一区二区三区| 另类专区欧美蜜桃臀第一页| 91搞黄在线观看| 国产精品网站一区| 国产在线精品一区在线观看麻豆| 国产福利一区二区三区在线视频| 成人性生交大片免费看视频在线| 91免费小视频| 国产精品人妖ts系列视频| 国内成人免费视频| 99久久99久久免费精品蜜臀| 欧美精品一区男女天堂| 久久国产精品色| 亚洲另类一区二区| 色婷婷综合久久久中文字幕| 亚洲欧洲精品天堂一级| 国产精品久久久久9999吃药| 日韩精品一区二区三区在线| 欧美哺乳videos| 久久精品国产999大香线蕉| 91精品欧美久久久久久动漫 | 91网页版在线| 久久精品一区八戒影视| 67194成人在线观看| 欧美性受极品xxxx喷水| 精品国产乱码91久久久久久网站| 日韩欧美在线一区二区三区| 亚洲国产另类精品专区| 色欧美88888久久久久久影院| 日韩一区二区三区免费观看| 性久久久久久久久久久久| 欧美午夜理伦三级在线观看| 精品精品国产高清a毛片牛牛| 国产精品乱码一区二区三区软件| 婷婷一区二区三区| 欧美一区二区网站| 美国av一区二区| 精品对白一区国产伦| 亚洲国产乱码最新视频 | 欧美xxx久久| 国产九色sp调教91| 91麻豆精品国产91久久久久久 | 免费成人你懂的| 欧美私人免费视频| 午夜天堂影视香蕉久久| 51精品视频一区二区三区| 奇米精品一区二区三区四区| 91久久久免费一区二区| 香蕉成人伊视频在线观看| 欧美一区二区视频在线观看| 亚洲精品少妇30p| 粉嫩高潮美女一区二区三区| 精品少妇一区二区三区日产乱码 | 欧美日韩一区二区在线观看视频| 国产精品久久久久aaaa樱花 | 亚洲免费在线观看视频| 在线观看日韩电影| 日本欧美在线看| 国产午夜精品一区二区| 91香蕉国产在线观看软件| 亚洲图片欧美综合| 欧美电影免费观看高清完整版在| 亚洲一区二区不卡免费| 日韩三级在线免费观看| 国产精品综合二区| 亚洲综合网站在线观看| 日韩欧美国产一区二区在线播放| 午夜激情综合网| 91精品国产aⅴ一区二区| 亚洲 欧美综合在线网络| 欧美亚洲一区二区三区四区| 精品一区二区三区免费观看| 1区2区3区国产精品| 欧美一区二区黄| 暴力调教一区二区三区| 中文子幕无线码一区tr| 国产精品亚洲一区二区三区在线 | 亚洲午夜一二三区视频| 精品理论电影在线观看| 激情文学综合插| 一区二区三区在线播放| 精品国产百合女同互慰| 在线观看区一区二| 国产成人在线电影| 日本va欧美va精品发布| 中文字幕日本不卡| 91国产成人在线| 成人午夜短视频| 蜜臀av在线播放一区二区三区| 精品剧情v国产在线观看在线| 国产一区激情在线| 日本成人中文字幕在线视频| 中文字幕一区免费在线观看| 色8久久精品久久久久久蜜|