~ubuntu-branches/ubuntu/saucy/qemu/saucy

« back to all changes in this revision

Viewing changes to libcacard/vcardt.c

  • Committer: Package Import Robot
  • Author(s): Serge Hallyn
  • Date: 2013-05-28 08:18:30 UTC
  • mfrom: (1.8.2) (10.1.37 sid)
  • Revision ID: package-import@ubuntu.com-20130528081830-87xl2z9fq516a814
Tags: 1.5.0+dfsg-2ubuntu1
* Merge 1.5.0+dfs-2 from debian unstable.  Remaining changes:
  - debian/control
    * update maintainer
    * remove libiscsi, usb-redir, vde, vnc-jpeg, and libssh2-1-dev
      from build-deps
    * enable rbd
    * add qemu-system and qemu-common B/R to qemu-keymaps
    * add D:udev, R:qemu, R:qemu-common and B:qemu-common to
      qemu-system-common
    * qemu-system-arm, qemu-system-ppc, qemu-system-sparc:
      - add qemu-kvm to Provides
      - add qemu-common, qemu-kvm, kvm to B/R
      - remove openbios-sparc from qemu-system-sparc D
    * qemu-system-x86:
      - add qemu-common to Breaks/Replaces.
      - add cpu-checker to Recommends.
    * qemu-user: add B/R:qemu-kvm
    * qemu-kvm:
      - add armhf armel powerpc sparc to Architecture
      - C/R/P: qemu-kvm-spice
    * add qemu-common package
    * drop qemu-slof which is not packaged in ubuntu
  - add qemu-system-common.links for tap ifup/down scripts and OVMF link.
  - qemu-system-x86.links:
    * remove pxe rom links which are in kvm-ipxe
    * add symlink for kvm.1 manpage
  - debian/rules
    * add kvm-spice symlink to qemu-kvm
    * call dh_installmodules for qemu-system-x86
    * update dh_installinit to install upstart script
    * run dh_installman (Closes: #709241) (cherrypicked from 1.5.0+dfsg-2)
  - Add qemu-utils.links for kvm-* symlinks.
  - Add qemu-system-x86.qemu-kvm.upstart and .default
  - Add qemu-system-x86.modprobe to set nesting=1
  - Add qemu-system-common.preinst to add kvm group
  - qemu-system-common.postinst: remove bad group acl if there, then have
    udev relabel /dev/kvm.
  - Dropped patches:
    * 0001-fix-wrong-output-with-info-chardev-for-tcp-socket.patch
  - Kept patches:
    * expose_vms_qemu64cpu.patch - updated
    * gridcentric patch - updated
    * linaro arm patches from qemu-linaro rebasing branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <stdlib.h>
 
2
#include <string.h>
 
3
#include <glib.h>
 
4
 
 
5
#include "libcacard/vcardt.h"
 
6
 
 
7
#include "libcacard/vcardt_internal.h"
 
8
 
 
9
/* create an ATR with appropriate historical bytes */
 
10
#define ATR_TS_DIRECT_CONVENTION 0x3b
 
11
#define ATR_TA_PRESENT 0x10
 
12
#define ATR_TB_PRESENT 0x20
 
13
#define ATR_TC_PRESENT 0x40
 
14
#define ATR_TD_PRESENT 0x80
 
15
 
 
16
unsigned char *vcard_alloc_atr(const char *postfix, int *atr_len)
 
17
{
 
18
    int postfix_len;
 
19
    const char prefix[] = "VCARD_";
 
20
    const char default_postfix[] = "DEFAULT";
 
21
    const int prefix_len = sizeof(prefix) - 1;
 
22
    int total_len;
 
23
    unsigned char *atr;
 
24
 
 
25
    if (postfix == NULL) {
 
26
        postfix = default_postfix;
 
27
    }
 
28
    postfix_len = strlen(postfix);
 
29
    total_len = 3 + prefix_len + postfix_len;
 
30
    atr = g_malloc(total_len);
 
31
    atr[0] = ATR_TS_DIRECT_CONVENTION;
 
32
    atr[1] = ATR_TD_PRESENT + prefix_len + postfix_len;
 
33
    atr[2] = 0x00;
 
34
    memcpy(&atr[3], prefix, prefix_len);
 
35
    memcpy(&atr[3 + prefix_len], postfix, postfix_len);
 
36
    if (atr_len) {
 
37
        *atr_len = total_len;
 
38
    }
 
39
    return atr;
 
40
}